From 5546f21d18dbc798a2c5e10642447d2d21a942da Mon Sep 17 00:00:00 2001 From: petrs Date: Thu, 18 Apr 2019 08:29:09 +0200 Subject: [PATCH 1/6] updated measurement with KeyAgreement fixed --- ...Till_Maas_RedTeamPentesting_and_PetrS).csv | 26 ++++++++++++------- ...a_Logar_and_Rowland_Watkins_and_PetrS).csv | 6 ++--- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/Profiles/results/Infineon_SLE78_Universal_JCard_ALGSUPPORT__3b_fd_96_00_00_81_31_fe_45_53_4c_4a_35_32_47_44_4c_31_32_38_43_52_57_(provided_by_Till_Maas_RedTeamPentesting_and_PetrS).csv b/Profiles/results/Infineon_SLE78_Universal_JCard_ALGSUPPORT__3b_fd_96_00_00_81_31_fe_45_53_4c_4a_35_32_47_44_4c_31_32_38_43_52_57_(provided_by_Till_Maas_RedTeamPentesting_and_PetrS).csv index e27fb0c8..c765ff72 100644 --- a/Profiles/results/Infineon_SLE78_Universal_JCard_ALGSUPPORT__3b_fd_96_00_00_81_31_fe_45_53_4c_4a_35_32_47_44_4c_31_32_38_43_52_57_(provided_by_Till_Maas_RedTeamPentesting_and_PetrS).csv +++ b/Profiles/results/Infineon_SLE78_Universal_JCard_ALGSUPPORT__3b_fd_96_00_00_81_31_fe_45_53_4c_4a_35_32_47_44_4c_31_32_38_43_52_57_(provided_by_Till_Maas_RedTeamPentesting_and_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; Execution date/time; 2018/07/19 12:33:32 -AlgTestJClient version; 1.7.4 -AlgTest applet version; 1.7.4 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Generic EMV Smartcard Reader 0 Card ATR; 3b fd 96 00 00 81 31 fe 45 53 4c 4a 35 32 47 44 4c 31 32 38 43 52 57 Card name; Infineon SLE78 Universal JCard @@ -208,10 +208,12 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.224000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.231000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.221000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.230000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.227000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.237000 -TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;yes;0.223000 -TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;yes;0.225000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.232000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.232000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;yes;0.241000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.238000 +TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;yes;0.229000 +TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;yes;0.228000 TYPE_KOREAN_SEED_TRANSIENT_RESET;no; TYPE_KOREAN_SEED_TRANSIENT_DESELECT;no; TYPE_KOREAN_SEED LENGTH_KOREAN_SEED_128;no; @@ -226,10 +228,10 @@ javacard.security.KeyAgreement ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.077000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.074000 ALG_EC_SVDP_DH_PLAIN;yes;0.097000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.094000 -ALG_EC_PACE_GM;yes;0.072000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.051000 -ALG_DH_PLAIN;yes;0.052000 +ALG_EC_SVDP_DHC_PLAIN;yes;0.092000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.165000 @@ -282,6 +284,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;0.765000 ALG_EC_FP LENGTH_EC_FP_384;yes;0.895000 ALG_EC_FP LENGTH_EC_FP_521;yes;1.205000 +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.572000 sec; Set random modulus;yes;0.030000 sec; diff --git a/Profiles/results/NXP_JCOP3_J3H145_SECID_P60_ALGSUPPORT__3b_11_95_80_(provided_by_Luka_Logar_and_Rowland_Watkins_and_PetrS).csv b/Profiles/results/NXP_JCOP3_J3H145_SECID_P60_ALGSUPPORT__3b_11_95_80_(provided_by_Luka_Logar_and_Rowland_Watkins_and_PetrS).csv index d3340e30..6fbefed0 100644 --- a/Profiles/results/NXP_JCOP3_J3H145_SECID_P60_ALGSUPPORT__3b_11_95_80_(provided_by_Luka_Logar_and_Rowland_Watkins_and_PetrS).csv +++ b/Profiles/results/NXP_JCOP3_J3H145_SECID_P60_ALGSUPPORT__3b_11_95_80_(provided_by_Luka_Logar_and_Rowland_Watkins_and_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; PetrS; Execution date/time; 2018/12/12 10:22:05 -AlgTestJClient version; 1.7.6 -AlgTest applet version; 1.7.5 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; Generic EMV Smartcard Reader 0 Card ATR; 3b 11 95 80 Card name; NXP JCOP3 J3H145 SECID P60 @@ -213,7 +213,7 @@ ALG_EC_SVDP_DH_PLAIN;yes;0.030000 ALG_EC_SVDP_DHC_PLAIN;yes;0.020000 ALG_EC_PACE_GM;yes;0.023000 ALG_EC_SVDP_DH_PLAIN_XY;yes;0.027000 -ALG_DH_PLAIN;yes;0.014000 +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.041000 From 9a57fc0f4788e42781e09746e7207bf160f91c5e Mon Sep 17 00:00:00 2001 From: petrs Date: Fri, 19 Apr 2019 19:20:55 +0200 Subject: [PATCH 2/6] added version string for 1.7.7 --- AlgTest_JClient/src/algtestjclient/AlgTestJClient.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/AlgTest_JClient/src/algtestjclient/AlgTestJClient.java b/AlgTest_JClient/src/algtestjclient/AlgTestJClient.java index 7bcc040a..e140ce3b 100644 --- a/AlgTest_JClient/src/algtestjclient/AlgTestJClient.java +++ b/AlgTest_JClient/src/algtestjclient/AlgTestJClient.java @@ -14,7 +14,7 @@ in the documentation and/or other associated materials; 3. the copyright holder's name is not used to endorse products - built using this software without specific written permission. + built using this software without specific written permission.hi ALTERNATIVELY, provided that this notice is retained in full, this product may be distributed under the terms of the GNU General Public License (GPL), @@ -55,6 +55,11 @@ public class AlgTestJClient { public static final String ALGTEST_PERFORMANCE = "AT_PERFORMANCE"; // for performance testing public static final String ALGTEST_USE_SIMULATOR = "JCARDSIM"; // use simulator instead of real card + /** + * Version 1.7.7 (17.04.2019) + * - removed testing for high-power mode for SIM cards as some cards stop responding till reset + */ + public final static String ALGTEST_JCLIENT_VERSION_1_7_7 = "1.7.7"; /** * Version 1.7.6 (7.12.2018) * + Added support for jCardSim @@ -139,7 +144,7 @@ public class AlgTestJClient { /** * Current version */ - public final static String ALGTEST_JCLIENT_VERSION = ALGTEST_JCLIENT_VERSION_1_7_6; + public final static String ALGTEST_JCLIENT_VERSION = ALGTEST_JCLIENT_VERSION_1_7_7; public final static int STAT_OK = 0; From 44086b29349fec752a2e00146cca0e419f2b3e60 Mon Sep 17 00:00:00 2001 From: petrs Date: Fri, 19 Apr 2019 21:29:58 +0200 Subject: [PATCH 3/6] rerun updated results from 1.7.7 (with KeyAgreement fixed) --- AlgTest_dist_1.7.7.zip | Bin 0 -> 165018 bytes ..._80_73_c8_21_13_09_(provided_by_PetrS).csv | 22 +- ..._04_f2_72_fe_00_a1_(provided_by_PetrS).csv | 43 ++- ..._0e_(provided_by_Ivo_Kubjas_and_PetrS).csv | 41 ++- ..._20_0e_00_20_20_28_(provided_by_PetrS).csv | 12 +- ..._38_31_2d_6e_46_a9_(provided_by_PetrS).csv | 29 +- ...0_27__(provided_by_Radboud_University).csv | 6 +- ..._10_83_01_90_00_f2_(provided_by_PetrS).csv | 31 +- ..._32_34_32_52_33_a2_(provided_by_PetrS).csv | 29 +- ..._50_76_32_34_31_b7_(provided_by_PetrS).csv | 39 ++- ..._01_00_01_90_00_95_(provided_by_PetrS).csv | 24 +- ..._00_83_f0_90_00_bb_(provided_by_PetrS).csv | 287 +++++++++--------- 12 files changed, 350 insertions(+), 213 deletions(-) create mode 100644 AlgTest_dist_1.7.7.zip diff --git a/AlgTest_dist_1.7.7.zip b/AlgTest_dist_1.7.7.zip new file mode 100644 index 0000000000000000000000000000000000000000..8193b590845f8e7ee1c01b5aa3cb8b4f736d2732 GIT binary patch literal 165018 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�p)k)nsanf!;V@_ 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 SPfpOEwfiR>{PT0)K>rKEi_DV% literal 0 HcmV?d00001 diff --git a/Profiles/results/Athena_IDProtect_ICFabDate_2015_ALGSUPPORT__3b_d5_18_ff_81_91_fe_1f_c3_80_73_c8_21_13_09_(provided_by_PetrS).csv b/Profiles/results/Athena_IDProtect_ICFabDate_2015_ALGSUPPORT__3b_d5_18_ff_81_91_fe_1f_c3_80_73_c8_21_13_09_(provided_by_PetrS).csv index be9007f3..3a5321bf 100644 --- a/Profiles/results/Athena_IDProtect_ICFabDate_2015_ALGSUPPORT__3b_d5_18_ff_81_91_fe_1f_c3_80_73_c8_21_13_09_(provided_by_PetrS).csv +++ b/Profiles/results/Athena_IDProtect_ICFabDate_2015_ALGSUPPORT__3b_d5_18_ff_81_91_fe_1f_c3_80_73_c8_21_13_09_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; PetrS -Execution date/time; 2018/04/03 20:13:35 -AlgTestJClient version; 1.7.3 -AlgTest applet version; 1.7.3 +Execution date/time; 2019/04/19 19:59:23 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Generic EMV Smartcard Reader 0 Card ATR; 3b d5 18 ff 81 91 fe 1f c3 80 73 c8 21 13 09 Card name; Athena IDProtect @@ -208,8 +208,10 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.049000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.054000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.054000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.051000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.055000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.059000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.061000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.063000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;yes;0.059000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.061000 TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; TYPE_KOREAN_SEED_TRANSIENT_RESET;yes;0.058000 @@ -227,9 +229,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.033000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.034000 ALG_EC_SVDP_DH_PLAIN;yes;0.034000 ALG_EC_SVDP_DHC_PLAIN;yes;0.035000 -ALG_EC_PACE_GM;yes;0.013000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.013000 -ALG_DH_PLAIN;yes;0.012000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.034000 @@ -282,6 +284,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;1.220000 ALG_EC_FP LENGTH_EC_FP_384;yes;2.016000 ALG_EC_FP LENGTH_EC_FP_521;yes;3.566000 +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.134000 sec; Set random modulus;yes;0.038000 sec; diff --git a/Profiles/results/Feitian_JavaCOS_A22CR_ICFabDate_2016_257_ALGSUPPORT__3b_9c_95_80_81_1f_03_90_67_46_4a_01_00_35_04_f2_72_fe_00_a1_(provided_by_PetrS).csv b/Profiles/results/Feitian_JavaCOS_A22CR_ICFabDate_2016_257_ALGSUPPORT__3b_9c_95_80_81_1f_03_90_67_46_4a_01_00_35_04_f2_72_fe_00_a1_(provided_by_PetrS).csv index 505475c0..2d309568 100644 --- a/Profiles/results/Feitian_JavaCOS_A22CR_ICFabDate_2016_257_ALGSUPPORT__3b_9c_95_80_81_1f_03_90_67_46_4a_01_00_35_04_f2_72_fe_00_a1_(provided_by_PetrS).csv +++ b/Profiles/results/Feitian_JavaCOS_A22CR_ICFabDate_2016_257_ALGSUPPORT__3b_9c_95_80_81_1f_03_90_67_46_4a_01_00_35_04_f2_72_fe_00_a1_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; PetrS; -Execution date/time; 2016/10/04 21:39:18 -AlgTestJClient version; 1.7.1 -AlgTest applet version; 1.7.1 +Execution date/time; 2019/04/19 19:32:20 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Generic EMV Smartcard Reader 0 Card ATR; 3b 9c 95 80 81 1f 03 90 67 46 4a 01 00 35 04 f2 72 fe 00 a1 Card name; Feitian JavaCOS A22CR @@ -116,6 +116,7 @@ ALG_RSA_SHA_384_PKCS1_PSS;no; ALG_RSA_SHA_512_PKCS1_PSS;no; ALG_DES_MAC4_ISO9797_1_M1_ALG3;yes;0.044000 ALG_DES_MAC8_ISO9797_1_M1_ALG3;yes;0.043000 +ALG_AES_CMAC_128;no; javacard.security.MessageDigest ALG_SHA;yes;0.040000 @@ -125,10 +126,18 @@ ALG_SHA_256;yes;0.046000 ALG_SHA_384;yes;0.046000 ALG_SHA_512;yes;0.045000 ALG_SHA_224;yes;0.046000 +ALG_SHA3_224;no; +ALG_SHA3_256;no; +ALG_SHA3_384;no; +ALG_SHA3_512;no; javacard.security.RandomData ALG_PSEUDO_RANDOM;yes;0.026000 ALG_SECURE_RANDOM;yes;0.011000 +ALG_TRNG;no; +ALG_ALG_PRESEEDED_DRBG;no; +ALG_FAST;no; +ALG_KEYGENERATION;no; javacard.security.KeyBuilder TYPE_DES_TRANSIENT_RESET;yes;0.065000 @@ -198,13 +207,15 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.134000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.128000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.127000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.127000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.123000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.131000 -TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;yes;0.131000 -TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;yes;0.135000 -TYPE_KOREAN_SEED_TRANSIENT_RESET;yes;0.062000 -TYPE_KOREAN_SEED_TRANSIENT_DESELECT;yes;0.061000 -TYPE_KOREAN_SEED LENGTH_KOREAN_SEED_128;yes;0.053000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.139000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.128000 +TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;yes;0.140000 +TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;yes;0.142000 +TYPE_KOREAN_SEED_TRANSIENT_RESET;yes;0.065000 +TYPE_KOREAN_SEED_TRANSIENT_DESELECT;yes;0.064000 +TYPE_KOREAN_SEED LENGTH_KOREAN_SEED_128;yes;0.060000 TYPE_HMAC_TRANSIENT_RESET;no; TYPE_HMAC_TRANSIENT_DESELECT;no; TYPE_HMAC LENGTH_HMAC_SHA_1_BLOCK_64;no; @@ -213,7 +224,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.074000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.082000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.040000 @@ -266,6 +283,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;1.126000 ALG_EC_FP LENGTH_EC_FP_384;yes;1.400000 ALG_EC_FP LENGTH_EC_FP_521;yes;1.976000 +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.085000 sec; Set random modulus;yes;0.016000 sec; diff --git a/Profiles/results/Feitian_JavaCOS_A22_ICFabDate_2015_3b_fc_18_00_00_81_31_80_45_90_67_46_4a_00_68_08_04_00_00_00_00_0e_(provided_by_Ivo_Kubjas_and_PetrS).csv b/Profiles/results/Feitian_JavaCOS_A22_ICFabDate_2015_3b_fc_18_00_00_81_31_80_45_90_67_46_4a_00_68_08_04_00_00_00_00_0e_(provided_by_Ivo_Kubjas_and_PetrS).csv index 9554692c..6ae27067 100644 --- a/Profiles/results/Feitian_JavaCOS_A22_ICFabDate_2015_3b_fc_18_00_00_81_31_80_45_90_67_46_4a_00_68_08_04_00_00_00_00_0e_(provided_by_Ivo_Kubjas_and_PetrS).csv +++ b/Profiles/results/Feitian_JavaCOS_A22_ICFabDate_2015_3b_fc_18_00_00_81_31_80_45_90_67_46_4a_00_68_08_04_00_00_00_00_0e_(provided_by_Ivo_Kubjas_and_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2015/12/22 13:43:07 -AlgTestJClient version; 1.6.0 -AlgTest applet version; 1.6.0 +Execution date/time; 2019/04/19 20:32:34 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Gemplus USB Smart Card Reader 0 Card ATR; 3b fc 18 00 00 81 31 80 45 90 67 46 4a 00 68 08 04 00 00 00 00 0e Card name; JavaCOS A22 @@ -95,19 +95,28 @@ ALG_RSA_SHA_384_PKCS1_PSS;no; ALG_RSA_SHA_512_PKCS1_PSS;no; ALG_DES_MAC4_ISO9797_1_M1_ALG3;no; ALG_DES_MAC8_ISO9797_1_M1_ALG3;no; +ALG_AES_CMAC_128;no; javacard.security.MessageDigest -ALG_SHA;yes;0.063000 -ALG_MD5;yes;0.064000 +ALG_SHA;yes;0.046000 +ALG_MD5;yes;0.054000 ALG_RIPEMD160;no; -ALG_SHA_256;yes;0.063000 -ALG_SHA_384;yes;0.063000 -ALG_SHA_512;yes;0.064000 +ALG_SHA_256;yes;0.050000 +ALG_SHA_384;yes;0.046000 +ALG_SHA_512;yes;0.055000 ALG_SHA_224;no; +ALG_SHA3_224;no; +ALG_SHA3_256;no; +ALG_SHA3_384;no; +ALG_SHA3_512;no; javacard.security.RandomData -ALG_PSEUDO_RANDOM;yes;0.060000 -ALG_SECURE_RANDOM;yes;0.069000 +ALG_PSEUDO_RANDOM;yes;0.043000 +ALG_SECURE_RANDOM;yes;0.013000 +ALG_TRNG;no; +ALG_ALG_PRESEEDED_DRBG;no; +ALG_FAST;no; +ALG_KEYGENERATION;no; javacard.security.KeyBuilder TYPE_DES_TRANSIENT_RESET;yes;0.084000 @@ -177,7 +186,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -193,6 +204,12 @@ TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard\.security\.KeyAgreement ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.063000 @@ -245,6 +262,10 @@ ALG_EC_FP LENGTH_EC_FP_256;no; ALG_EC_FP LENGTH_EC_FP_384;no; ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.090000 sec; Set random modulus;yes;0.019000 sec; diff --git a/Profiles/results/G+D_SmartCafe_7.0_215K_USB_Token_S_ALGSUPPORT__3b_f9_96_00_00_81_31_fe_45_53_43_45_37_20_0e_00_20_20_28_(provided_by_PetrS).csv b/Profiles/results/G+D_SmartCafe_7.0_215K_USB_Token_S_ALGSUPPORT__3b_f9_96_00_00_81_31_fe_45_53_43_45_37_20_0e_00_20_20_28_(provided_by_PetrS).csv index 41931910..74826cf4 100644 --- a/Profiles/results/G+D_SmartCafe_7.0_215K_USB_Token_S_ALGSUPPORT__3b_f9_96_00_00_81_31_fe_45_53_43_45_37_20_0e_00_20_20_28_(provided_by_PetrS).csv +++ b/Profiles/results/G+D_SmartCafe_7.0_215K_USB_Token_S_ALGSUPPORT__3b_f9_96_00_00_81_31_fe_45_53_43_45_37_20_0e_00_20_20_28_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; PetrS; -Execution date/time; 2018/12/04 22:58:55 -AlgTestJClient version; 1.7.5 -AlgTest applet version; 1.7.5 +Execution date/time; 2019/04/19 19:21:31 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Giesecke & Devrient GmbH StarSign CUT S 0 Card ATR; 3b f9 96 00 00 81 31 fe 45 53 43 45 37 20 0e 00 20 20 28 Card name; G+D SmartCafe 7.0 215K USB Token S @@ -231,9 +231,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.031000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.033000 ALG_EC_SVDP_DH_PLAIN;yes;0.028000 ALG_EC_SVDP_DHC_PLAIN;yes;0.024000 -ALG_EC_PACE_GM;yes;0.009000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.011000 -ALG_DH_PLAIN;yes;0.004000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.057000 diff --git a/Profiles/results/G+D_Smartcafe_6.0_80K_ICFabDate_2015_024_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_53_43_45_36_30_2d_43_44_30_38_31_2d_6e_46_a9_(provided_by_PetrS).csv b/Profiles/results/G+D_Smartcafe_6.0_80K_ICFabDate_2015_024_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_53_43_45_36_30_2d_43_44_30_38_31_2d_6e_46_a9_(provided_by_PetrS).csv index e6a27a59..8797baa6 100644 --- a/Profiles/results/G+D_Smartcafe_6.0_80K_ICFabDate_2015_024_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_53_43_45_36_30_2d_43_44_30_38_31_2d_6e_46_a9_(provided_by_PetrS).csv +++ b/Profiles/results/G+D_Smartcafe_6.0_80K_ICFabDate_2015_024_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_53_43_45_36_30_2d_43_44_30_38_31_2d_6e_46_a9_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2016/09/20 14:13:12 -AlgTestJClient version; 1.7.0 -AlgTest applet version; 1.7.0 +Execution date/time; 2019/04/19 20:06:27 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Gemplus USB Smart Card Reader 0 Card ATR; 3b fe 18 00 00 80 31 fe 45 53 43 45 36 30 2d 43 44 30 38 31 2d 6e 46 a9 Card name; G+D SmartCafe 6.0 @@ -116,6 +116,7 @@ ALG_RSA_SHA_384_PKCS1_PSS;no; ALG_RSA_SHA_512_PKCS1_PSS;no; ALG_DES_MAC4_ISO9797_1_M1_ALG3;no; ALG_DES_MAC8_ISO9797_1_M1_ALG3;no; +ALG_AES_CMAC_128;no; javacard.security.MessageDigest ALG_SHA;yes;0,057000 @@ -125,10 +126,18 @@ ALG_SHA_256;yes;0,070000 ALG_SHA_384;yes;0,052000 ALG_SHA_512;yes;0,062000 ALG_SHA_224;yes;0,060000 +ALG_SHA3_224;no; +ALG_SHA3_256;no; +ALG_SHA3_384;no; +ALG_SHA3_512;no; javacard.security.RandomData ALG_PSEUDO_RANDOM;yes;0,010000 ALG_SECURE_RANDOM;yes;0,030000 +ALG_TRNG;no; +ALG_ALG_PRESEEDED_DRBG;no; +ALG_FAST;no; +ALG_KEYGENERATION;no; javacard.security.KeyBuilder TYPE_DES_TRANSIENT_RESET;yes;0,031000 @@ -198,7 +207,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0,050000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0,040000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0,043000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0,040000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -213,7 +224,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,031000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.032000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.039000 +ALG_EC_SVDP_DH_PLAIN;yes;0.031000 +ALG_EC_SVDP_DHC_PLAIN;yes;0.039000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;no; @@ -266,6 +283,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;0,708000 ALG_EC_FP LENGTH_EC_FP_384;no; ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0,071000 sec; Set random modulus;yes;0,040000 sec; diff --git a/Profiles/results/G+D_Smartcafe_7.0_ALGSUPPORT__3b_f9_96_00_00_80_31_fe_45_53_43_45_37_20_00_00_20_20_27__(provided_by_Radboud_University).csv b/Profiles/results/G+D_Smartcafe_7.0_ALGSUPPORT__3b_f9_96_00_00_80_31_fe_45_53_43_45_37_20_00_00_20_20_27__(provided_by_Radboud_University).csv index 30e88246..b1929480 100644 --- a/Profiles/results/G+D_Smartcafe_7.0_ALGSUPPORT__3b_f9_96_00_00_80_31_fe_45_53_43_45_37_20_00_00_20_20_27__(provided_by_Radboud_University).csv +++ b/Profiles/results/G+D_Smartcafe_7.0_ALGSUPPORT__3b_f9_96_00_00_80_31_fe_45_53_43_45_37_20_00_00_20_20_27__(provided_by_Radboud_University).csv @@ -227,9 +227,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.028000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.032000 ALG_EC_SVDP_DH_PLAIN;yes;0.029000 ALG_EC_SVDP_DHC_PLAIN;yes;0.032000 -ALG_EC_PACE_GM;yes;0.005000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.007000 -ALG_DH_PLAIN;yes;0.005000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.052000 diff --git a/Profiles/results/Infineon_CJTOP_80K_INF_SLJ_52GLA080AL_M8.4_ICFabDate_2012_001_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_01_90_00_f2_(provided_by_PetrS).csv b/Profiles/results/Infineon_CJTOP_80K_INF_SLJ_52GLA080AL_M8.4_ICFabDate_2012_001_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_01_90_00_f2_(provided_by_PetrS).csv index a216938d..6b4e37f7 100644 --- a/Profiles/results/Infineon_CJTOP_80K_INF_SLJ_52GLA080AL_M8.4_ICFabDate_2012_001_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_01_90_00_f2_(provided_by_PetrS).csv +++ b/Profiles/results/Infineon_CJTOP_80K_INF_SLJ_52GLA080AL_M8.4_ICFabDate_2012_001_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_01_90_00_f2_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2016/09/20 17:46:35 -AlgTestJClient version; 1.7.0 -AlgTest applet version; 1.7.0 +Execution date/time; 2019/04/19 19:11:49 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Gemplus USB Smart Card Reader 0 Card ATR; 3b fe 18 00 00 80 31 fe 45 80 31 80 66 40 90 a5 10 2e 10 83 01 90 00 f2 Card name; Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4 @@ -117,6 +117,7 @@ ALG_RSA_SHA_384_PKCS1_PSS;no; ALG_RSA_SHA_512_PKCS1_PSS;no; ALG_DES_MAC4_ISO9797_1_M1_ALG3;no; ALG_DES_MAC8_ISO9797_1_M1_ALG3;no; +ALG_AES_CMAC_128;no; javacard.security.MessageDigest ALG_SHA;yes;0,070000 @@ -126,10 +127,18 @@ ALG_SHA_256;yes;0,080000 ALG_SHA_384;yes;0,080000 ALG_SHA_512;yes;0,080000 ALG_SHA_224;yes;0,080000 +ALG_SHA3_224;no; +ALG_SHA3_256;no; +ALG_SHA3_384;no; +ALG_SHA3_512;no; javacard.security.RandomData ALG_PSEUDO_RANDOM;yes;0,050000 ALG_SECURE_RANDOM;yes;0,050000 +ALG_TRNG;no; +ALG_ALG_PRESEEDED_DRBG;no; +ALG_FAST;no; +ALG_KEYGENERATION;no; javacard.security.KeyBuilder TYPE_DES_TRANSIENT_RESET;yes;0,170000 @@ -199,7 +208,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0,130000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0,160000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0,166000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0,130000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0,180000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.185000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.193000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;yes;0.159000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -214,7 +225,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,090000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.092000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.100000 +ALG_EC_SVDP_DH_PLAIN;yes;0.105000 +ALG_EC_SVDP_DHC_PLAIN;yes;0.091000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0,080000 @@ -267,6 +284,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;0,560000 ALG_EC_FP LENGTH_EC_FP_384;yes;0,520000 ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0,130000 sec; Set random modulus;yes;0,050000 sec; diff --git a/Profiles/results/NXP_JCOP_21 v2.4.2R3_ICFabDate_2013_025_ALGSUPPORT___3b_f9_13_00_00_81_31_fe_45_4a_43_4f_50_32_34_32_52_33_a2_(provided_by_PetrS).csv b/Profiles/results/NXP_JCOP_21 v2.4.2R3_ICFabDate_2013_025_ALGSUPPORT___3b_f9_13_00_00_81_31_fe_45_4a_43_4f_50_32_34_32_52_33_a2_(provided_by_PetrS).csv index e47bb96f..b264fe7c 100644 --- a/Profiles/results/NXP_JCOP_21 v2.4.2R3_ICFabDate_2013_025_ALGSUPPORT___3b_f9_13_00_00_81_31_fe_45_4a_43_4f_50_32_34_32_52_33_a2_(provided_by_PetrS).csv +++ b/Profiles/results/NXP_JCOP_21 v2.4.2R3_ICFabDate_2013_025_ALGSUPPORT___3b_f9_13_00_00_81_31_fe_45_4a_43_4f_50_32_34_32_52_33_a2_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2016/09/20 14:57:57 -AlgTestJClient version; 1.7.0 -AlgTest applet version; 1.7.0 +Execution date/time; 2019/04/19 19:40:40 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Gemplus USB Smart Card Reader 0 Card ATR; 3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 Card name; NXP JCOP21 v2.4.2R3 @@ -118,6 +118,7 @@ ALG_RSA_SHA_384_PKCS1_PSS;no; ALG_RSA_SHA_512_PKCS1_PSS;no; ALG_DES_MAC4_ISO9797_1_M1_ALG3;no; ALG_DES_MAC8_ISO9797_1_M1_ALG3;no; +ALG_AES_CMAC_128;no; javacard.security.MessageDigest ALG_SHA;yes;0,085000 @@ -127,10 +128,18 @@ ALG_SHA_256;yes;0,080000 ALG_SHA_384;no; ALG_SHA_512;no; ALG_SHA_224;yes;0,080000 +ALG_SHA3_224;no; +ALG_SHA3_256;no; +ALG_SHA3_384;no; +ALG_SHA3_512;no; javacard.security.RandomData ALG_PSEUDO_RANDOM;yes;0,020000 ALG_SECURE_RANDOM;yes;0,020000 +ALG_TRNG;no; +ALG_ALG_PRESEEDED_DRBG;no; +ALG_FAST;no; +ALG_KEYGENERATION;no; javacard.security.KeyBuilder TYPE_DES_TRANSIENT_RESET;yes;0,120000 @@ -200,7 +209,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0,120000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0,120000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0,128000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0,120000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.133000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -215,7 +226,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,120000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.125000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;yes;0.049000 +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0,080000 @@ -268,6 +285,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;1,485000 ALG_EC_FP LENGTH_EC_FP_384;no; ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0,230000 sec; Set random modulus;yes;0,080000 sec; diff --git a/Profiles/results/NXP_JCOP_31_V2.4.1_72K_ICFabDate_2012_240_3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv b/Profiles/results/NXP_JCOP_31_V2.4.1_72K_ICFabDate_2012_240_3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv index eb74b40c..03baf423 100644 --- a/Profiles/results/NXP_JCOP_31_V2.4.1_72K_ICFabDate_2012_240_3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv +++ b/Profiles/results/NXP_JCOP_31_V2.4.1_72K_ICFabDate_2012_240_3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2016/09/20 15:15:27 -AlgTestJClient version; 1.7.0 -AlgTest applet version; 1.7.0 +Execution date/time; 2019/04/19 20:22:01 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Gemplus USB Smart Card Reader 0 Card ATR; 3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 Card name; NXP JCOP31 v2.4.1 72K @@ -118,19 +118,28 @@ ALG_RSA_SHA_384_PKCS1_PSS;no; ALG_RSA_SHA_512_PKCS1_PSS;no; ALG_DES_MAC4_ISO9797_1_M1_ALG3;no; ALG_DES_MAC8_ISO9797_1_M1_ALG3;no; +ALG_AES_CMAC_128;no; javacard.security.MessageDigest -ALG_SHA;yes;0,060000 -ALG_MD5;yes;0,070000 +ALG_SHA;yes;0.068000 +ALG_MD5;yes;0.077000 ALG_RIPEMD160;no; -ALG_SHA_256;yes;0,080000 +ALG_SHA_256;yes;0.080000 ALG_SHA_384;no; ALG_SHA_512;no; ALG_SHA_224;no; +ALG_SHA3_224;no; +ALG_SHA3_256;no; +ALG_SHA3_384;no; +ALG_SHA3_512;no; javacard.security.RandomData -ALG_PSEUDO_RANDOM;yes;0,020000 -ALG_SECURE_RANDOM;yes;0,010000 +ALG_PSEUDO_RANDOM;yes;0.018000 +ALG_SECURE_RANDOM;yes;0.012000 +ALG_TRNG;no; +ALG_ALG_PRESEEDED_DRBG;no; +ALG_FAST;no; +ALG_KEYGENERATION;no; javacard.security.KeyBuilder TYPE_DES_TRANSIENT_RESET;yes;0,090000 @@ -200,7 +209,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0,097000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0,097000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0,106000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0,096000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.101000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -215,7 +226,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,098000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.102000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.115000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0,070000 @@ -268,6 +285,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;0,948000 ALG_EC_FP LENGTH_EC_FP_384;no; ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0,180000 sec; Set random modulus;yes;0,040000 sec; diff --git a/Profiles/results/Oberthur_Cosmo_v7_ALGSUPPORT__3b_db_96_00_80_b1_fe_45_1f_83_00_31_c0_64_c3_08_01_00_01_90_00_95_(provided_by_PetrS).csv b/Profiles/results/Oberthur_Cosmo_v7_ALGSUPPORT__3b_db_96_00_80_b1_fe_45_1f_83_00_31_c0_64_c3_08_01_00_01_90_00_95_(provided_by_PetrS).csv index 8a6d4685..1120c4cb 100644 --- a/Profiles/results/Oberthur_Cosmo_v7_ALGSUPPORT__3b_db_96_00_80_b1_fe_45_1f_83_00_31_c0_64_c3_08_01_00_01_90_00_95_(provided_by_PetrS).csv +++ b/Profiles/results/Oberthur_Cosmo_v7_ALGSUPPORT__3b_db_96_00_80_b1_fe_45_1f_83_00_31_c0_64_c3_08_01_00_01_90_00_95_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.;PetrS -Execution date/time; 2018/10/15 19:50:17 -AlgTestJClient version; 1.7.5 -AlgTest applet version; 1.7.5 +Execution date/time; 2019/04/19 20:11:44 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Generic EMV Smartcard Reader 0 Card ATR; 3b db 96 00 80 b1 fe 45 1f 83 00 31 c0 64 c3 08 01 00 01 90 00 95 Card name; Oberthur Cosmo v7 @@ -210,8 +210,10 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.161000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.159000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.156000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.154000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.156000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.155000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.154000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;yes;0.159000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.156000 TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; TYPE_KOREAN_SEED_TRANSIENT_RESET;no; @@ -227,11 +229,11 @@ TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.030000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.023000 -ALG_EC_SVDP_DH_PLAIN;yes;0.008000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.008000 -ALG_EC_PACE_GM;yes;0.009000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.008000 -ALG_DH_PLAIN;yes;0.004000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;no; @@ -284,6 +286,10 @@ ALG_EC_FP LENGTH_EC_FP_256;no; ALG_EC_FP LENGTH_EC_FP_384;no; ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.070000 sec; Set random modulus;no; diff --git a/Profiles/results/Taisys_SIMoME_VAULT_ICFabDate_2016_ALGSUPPORT__3b_9f_95_80_3f_c7_a0_80_31_e0_73_fa_21_10_63_00_00_00_83_f0_90_00_bb_(provided_by_PetrS).csv b/Profiles/results/Taisys_SIMoME_VAULT_ICFabDate_2016_ALGSUPPORT__3b_9f_95_80_3f_c7_a0_80_31_e0_73_fa_21_10_63_00_00_00_83_f0_90_00_bb_(provided_by_PetrS).csv index 8b1aed4f..92bd82d8 100644 --- a/Profiles/results/Taisys_SIMoME_VAULT_ICFabDate_2016_ALGSUPPORT__3b_9f_95_80_3f_c7_a0_80_31_e0_73_fa_21_10_63_00_00_00_83_f0_90_00_bb_(provided_by_PetrS).csv +++ b/Profiles/results/Taisys_SIMoME_VAULT_ICFabDate_2016_ALGSUPPORT__3b_9f_95_80_3f_c7_a0_80_31_e0_73_fa_21_10_63_00_00_00_83_f0_90_00_bb_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; PetrS; -Execution date/time; 2018/12/31 15:54:27 -AlgTestJClient version; 1.7.6 -AlgTest applet version; 1.7.6 +Execution date/time; 2019/04/19 19:07:32 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; Generic EMV Smartcard Reader 0 Card ATR; 3b 9f 95 80 3f c7 a0 80 31 e0 73 fa 21 10 63 00 00 00 83 f0 90 00 bb Card name; Taisys SIMoME VAULT @@ -18,155 +18,154 @@ JCSystem.MEMORY_TYPE_TRANSIENT_RESET;12252B; JCSystem.getMaxCommitCapacity();16128B; JCSystem.getMaxCommitCapacity();16128B; - javacardx.crypto.Cipher -ALG_DES_CBC_NOPAD;yes;0.125000 -ALG_DES_CBC_ISO9797_M1;yes;0.109000 -ALG_DES_CBC_ISO9797_M2;yes;0.141000 -ALG_DES_CBC_PKCS5;yes;0.133000 -ALG_DES_ECB_NOPAD;yes;0.141000 -ALG_DES_ECB_ISO9797_M1;yes;0.125000 -ALG_DES_ECB_ISO9797_M2;yes;0.140000 -ALG_DES_ECB_PKCS5;yes;0.172000 +ALG_DES_CBC_NOPAD;yes;0.142000 +ALG_DES_CBC_ISO9797_M1;yes;0.141000 +ALG_DES_CBC_ISO9797_M2;yes;0.142000 +ALG_DES_CBC_PKCS5;yes;0.140000 +ALG_DES_ECB_NOPAD;yes;0.138000 +ALG_DES_ECB_ISO9797_M1;yes;0.142000 +ALG_DES_ECB_ISO9797_M2;yes;0.147000 +ALG_DES_ECB_PKCS5;yes;0.143000 ALG_RSA_ISO14888;no; -ALG_RSA_PKCS1;yes;0.172000 +ALG_RSA_PKCS1;yes;0.141000 ALG_RSA_ISO9796;no; -ALG_RSA_NOPAD;yes;0.129000 -ALG_AES_BLOCK_128_CBC_NOPAD;yes;0.140000 -ALG_AES_BLOCK_128_ECB_NOPAD;yes;0.117000 -ALG_RSA_PKCS1_OAEP;yes;0.141000 +ALG_RSA_NOPAD;yes;0.148000 +ALG_AES_BLOCK_128_CBC_NOPAD;yes;0.147000 +ALG_AES_BLOCK_128_ECB_NOPAD;yes;0.142000 +ALG_RSA_PKCS1_OAEP;yes;0.143000 ALG_KOREAN_SEED_ECB_NOPAD;no; ALG_KOREAN_SEED_CBC_NOPAD;no; ALG_AES_BLOCK_192_CBC_NOPAD;no; ALG_AES_BLOCK_192_ECB_NOPAD;no; ALG_AES_BLOCK_256_CBC_NOPAD;no; ALG_AES_BLOCK_256_ECB_NOPAD;no; -ALG_AES_CBC_ISO9797_M1;yes;0.203000 -ALG_AES_CBC_ISO9797_M2;yes;0.141000 -ALG_AES_CBC_PKCS5;yes;0.156000 -ALG_AES_ECB_ISO9797_M1;yes;0.140000 -ALG_AES_ECB_ISO9797_M2;yes;0.125000 -ALG_AES_ECB_PKCS5;yes;0.141000 +ALG_AES_CBC_ISO9797_M1;yes;0.140000 +ALG_AES_CBC_ISO9797_M2;yes;0.139000 +ALG_AES_CBC_PKCS5;yes;0.140000 +ALG_AES_ECB_ISO9797_M1;yes;0.145000 +ALG_AES_ECB_ISO9797_M2;yes;0.140000 +ALG_AES_ECB_PKCS5;yes;0.139000 javacard.crypto.Signature -ALG_DES_MAC4_NOPAD;yes;0.140000 -ALG_DES_MAC8_NOPAD;yes;0.172000 -ALG_DES_MAC4_ISO9797_M1;yes;0.141000 -ALG_DES_MAC8_ISO9797_M1;yes;0.142000 -ALG_DES_MAC4_ISO9797_M2;yes;0.143000 -ALG_DES_MAC8_ISO9797_M2;yes;0.110000 -ALG_DES_MAC4_PKCS5;yes;0.125000 -ALG_DES_MAC8_PKCS5;yes;0.125000 -ALG_RSA_SHA_ISO9796;yes;0.141000 -ALG_RSA_SHA_PKCS1;yes;0.187000 -ALG_RSA_MD5_PKCS1;yes;0.140000 -ALG_RSA_RIPEMD160_ISO9796;yes;0.141000 -ALG_RSA_RIPEMD160_PKCS1;yes;0.140000 +ALG_DES_MAC4_NOPAD;yes;0.145000 +ALG_DES_MAC8_NOPAD;yes;0.160000 +ALG_DES_MAC4_ISO9797_M1;yes;0.142000 +ALG_DES_MAC8_ISO9797_M1;yes;0.161000 +ALG_DES_MAC4_ISO9797_M2;yes;0.156000 +ALG_DES_MAC8_ISO9797_M2;yes;0.164000 +ALG_DES_MAC4_PKCS5;yes;0.147000 +ALG_DES_MAC8_PKCS5;yes;0.162000 +ALG_RSA_SHA_ISO9796;yes;0.153000 +ALG_RSA_SHA_PKCS1;yes;0.167000 +ALG_RSA_MD5_PKCS1;yes;0.142000 +ALG_RSA_RIPEMD160_ISO9796;yes;0.160000 +ALG_RSA_RIPEMD160_PKCS1;yes;0.145000 ALG_DSA_SHA;no; -ALG_RSA_SHA_RFC2409;yes;0.125000 -ALG_RSA_MD5_RFC2409;yes;0.156000 -ALG_ECDSA_SHA;yes;0.157000 -ALG_AES_MAC_128_NOPAD;yes;0.156000 -ALG_DES_MAC4_ISO9797_1_M2_ALG3;yes;0.141000 -ALG_DES_MAC8_ISO9797_1_M2_ALG3;yes;0.152000 -ALG_RSA_SHA_PKCS1_PSS;yes;0.125000 -ALG_RSA_MD5_PKCS1_PSS;yes;0.145000 -ALG_RSA_RIPEMD160_PKCS1_PSS;yes;0.110000 -ALG_HMAC_SHA1;yes;0.141000 -ALG_HMAC_SHA_256;yes;0.110000 -ALG_HMAC_SHA_384;yes;0.141000 -ALG_HMAC_SHA_512;yes;0.125000 -ALG_HMAC_MD5;yes;0.140000 -ALG_HMAC_RIPEMD160;yes;0.109000 -ALG_RSA_SHA_ISO9796_MR;yes;0.140000 -ALG_RSA_RIPEMD160_ISO9796_MR;yes;0.141000 +ALG_RSA_SHA_RFC2409;yes;0.162000 +ALG_RSA_MD5_RFC2409;yes;0.148000 +ALG_ECDSA_SHA;yes;0.170000 +ALG_AES_MAC_128_NOPAD;yes;0.151000 +ALG_DES_MAC4_ISO9797_1_M2_ALG3;yes;0.163000 +ALG_DES_MAC8_ISO9797_1_M2_ALG3;yes;0.143000 +ALG_RSA_SHA_PKCS1_PSS;yes;0.166000 +ALG_RSA_MD5_PKCS1_PSS;yes;0.144000 +ALG_RSA_RIPEMD160_PKCS1_PSS;yes;0.161000 +ALG_HMAC_SHA1;yes;0.148000 +ALG_HMAC_SHA_256;yes;0.162000 +ALG_HMAC_SHA_384;yes;0.144000 +ALG_HMAC_SHA_512;yes;0.161000 +ALG_HMAC_MD5;yes;0.146000 +ALG_HMAC_RIPEMD160;yes;0.158000 +ALG_RSA_SHA_ISO9796_MR;yes;0.147000 +ALG_RSA_RIPEMD160_ISO9796_MR;yes;0.161000 ALG_SEED_MAC_NOPAD;no; -ALG_ECDSA_SHA_256;yes;0.141000 -ALG_ECDSA_SHA_384;yes;0.141000 +ALG_ECDSA_SHA_256;yes;0.143000 +ALG_ECDSA_SHA_384;yes;0.164000 ALG_AES_MAC_192_NOPAD;no; ALG_AES_MAC_256_NOPAD;no; -ALG_ECDSA_SHA_224;yes;0.156000 -ALG_ECDSA_SHA_512;yes;0.108000 -ALG_RSA_SHA_224_PKCS1;yes;0.203000 -ALG_RSA_SHA_256_PKCS1;yes;0.125000 -ALG_RSA_SHA_384_PKCS1;yes;0.146000 -ALG_RSA_SHA_512_PKCS1;yes;0.115000 -ALG_RSA_SHA_224_PKCS1_PSS;yes;0.140000 -ALG_RSA_SHA_256_PKCS1_PSS;yes;0.125000 -ALG_RSA_SHA_384_PKCS1_PSS;yes;0.140000 -ALG_RSA_SHA_512_PKCS1_PSS;yes;0.125000 -ALG_DES_MAC4_ISO9797_1_M1_ALG3;yes;0.141000 -ALG_DES_MAC8_ISO9797_1_M1_ALG3;yes;0.125000 +ALG_ECDSA_SHA_224;yes;0.142000 +ALG_ECDSA_SHA_512;yes;0.159000 +ALG_RSA_SHA_224_PKCS1;yes;0.150000 +ALG_RSA_SHA_256_PKCS1;yes;0.169000 +ALG_RSA_SHA_384_PKCS1;yes;0.155000 +ALG_RSA_SHA_512_PKCS1;yes;0.162000 +ALG_RSA_SHA_224_PKCS1_PSS;yes;0.148000 +ALG_RSA_SHA_256_PKCS1_PSS;yes;0.162000 +ALG_RSA_SHA_384_PKCS1_PSS;yes;0.145000 +ALG_RSA_SHA_512_PKCS1_PSS;yes;0.160000 +ALG_DES_MAC4_ISO9797_1_M1_ALG3;yes;0.152000 +ALG_DES_MAC8_ISO9797_1_M1_ALG3;yes;0.162000 ALG_AES_CMAC_128;no; javacard.security.MessageDigest -ALG_SHA;yes;0.125000 -ALG_MD5;yes;0.094000 -ALG_RIPEMD160;yes;0.141000 -ALG_SHA_256;yes;0.109000 -ALG_SHA_384;yes;0.141000 -ALG_SHA_512;yes;0.141000 -ALG_SHA_224;yes;0.141000 +ALG_SHA;yes;0.152000 +ALG_MD5;yes;0.172000 +ALG_RIPEMD160;yes;0.140000 +ALG_SHA_256;yes;0.170000 +ALG_SHA_384;yes;0.147000 +ALG_SHA_512;yes;0.165000 +ALG_SHA_224;yes;0.144000 ALG_SHA3_224;no; ALG_SHA3_256;no; ALG_SHA3_384;no; ALG_SHA3_512;no; javacard.security.RandomData -ALG_PSEUDO_RANDOM;yes;0.078000 -ALG_SECURE_RANDOM;yes;0.078000 +ALG_PSEUDO_RANDOM;yes;0.087000 +ALG_SECURE_RANDOM;yes;0.087000 ALG_TRNG;no; ALG_ALG_PRESEEDED_DRBG;no; ALG_FAST;no; ALG_KEYGENERATION;no; javacard.security.KeyBuilder -TYPE_DES_TRANSIENT_RESET;yes;0.113000 -TYPE_DES_TRANSIENT_DESELECT;yes;0.108000 -TYPE_DES LENGTH_DES;yes;0.128000 -TYPE_DES LENGTH_DES3_2KEY;yes;0.140000 -TYPE_DES LENGTH_DES3_3KEY;yes;0.125000 -TYPE_AES_TRANSIENT_RESET;yes;0.125000 -TYPE_AES_TRANSIENT_DESELECT;yes;0.140000 -TYPE_AES LENGTH_AES_128;yes;0.141000 -TYPE_AES LENGTH_AES_192;yes;0.141000 -TYPE_AES LENGTH_AES_256;yes;0.156000 -TYPE_RSA_PUBLIC LENGTH_RSA_512;yes;0.140000 -TYPE_RSA_PUBLIC LENGTH_RSA_736;yes;0.140000 -TYPE_RSA_PUBLIC LENGTH_RSA_768;yes;0.172000 -TYPE_RSA_PUBLIC LENGTH_RSA_896;yes;0.156000 -TYPE_RSA_PUBLIC LENGTH_RSA_1024;yes;0.141000 -TYPE_RSA_PUBLIC LENGTH_RSA_1280;yes;0.172000 -TYPE_RSA_PUBLIC LENGTH_RSA_1536;yes;0.156000 -TYPE_RSA_PUBLIC LENGTH_RSA_1984;yes;0.157000 -TYPE_RSA_PUBLIC LENGTH_RSA_2048;yes;0.187000 -TYPE_RSA_PUBLIC LENGTH_RSA_3072;yes;0.139000 -TYPE_RSA_PUBLIC LENGTH_RSA_4096;yes;0.156000 -TYPE_RSA_PRIVATE LENGTH_RSA_512;yes;0.172000 -TYPE_RSA_PRIVATE LENGTH_RSA_736;yes;0.156000 -TYPE_RSA_PRIVATE LENGTH_RSA_768;yes;0.156000 -TYPE_RSA_PRIVATE LENGTH_RSA_896;yes;0.172000 -TYPE_RSA_PRIVATE LENGTH_RSA_1024;yes;0.156000 -TYPE_RSA_PRIVATE LENGTH_RSA_1280;yes;0.172000 -TYPE_RSA_PRIVATE LENGTH_RSA_1536;yes;0.172000 -TYPE_RSA_PRIVATE LENGTH_RSA_1984;yes;0.172000 -TYPE_RSA_PRIVATE LENGTH_RSA_2048;yes;0.172000 -TYPE_RSA_PRIVATE LENGTH_RSA_3072;yes;0.187000 -TYPE_RSA_PRIVATE LENGTH_RSA_4096;yes;0.158000 -TYPE_RSA_PRIVATE_TRANSIENT_RESET;yes;0.141000 -TYPE_RSA_PRIVATE_TRANSIENT_DESELECT;yes;0.140000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_512;yes;0.156000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_736;yes;0.153000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_768;yes;0.156000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_896;yes;0.172000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1024;yes;0.157000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1280;yes;0.188000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1536;yes;0.171000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1984;yes;0.156000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_2048;yes;0.172000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_3072;yes;0.188000 -TYPE_RSA_CRT_PRIVATE LENGTH_RSA_4096;yes;0.156000 -TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET;yes;0.141000 +TYPE_DES_TRANSIENT_RESET;yes;0.166000 +TYPE_DES_TRANSIENT_DESELECT;yes;0.139000 +TYPE_DES LENGTH_DES;yes;0.209000 +TYPE_DES LENGTH_DES3_2KEY;yes;0.188000 +TYPE_DES LENGTH_DES3_3KEY;yes;0.201000 +TYPE_AES_TRANSIENT_RESET;yes;0.139000 +TYPE_AES_TRANSIENT_DESELECT;yes;0.155000 +TYPE_AES LENGTH_AES_128;yes;0.188000 +TYPE_AES LENGTH_AES_192;yes;0.213000 +TYPE_AES LENGTH_AES_256;yes;0.178000 +TYPE_RSA_PUBLIC LENGTH_RSA_512;yes;0.200000 +TYPE_RSA_PUBLIC LENGTH_RSA_736;yes;0.199000 +TYPE_RSA_PUBLIC LENGTH_RSA_768;yes;0.227000 +TYPE_RSA_PUBLIC LENGTH_RSA_896;yes;0.183000 +TYPE_RSA_PUBLIC LENGTH_RSA_1024;yes;0.212000 +TYPE_RSA_PUBLIC LENGTH_RSA_1280;yes;0.223000 +TYPE_RSA_PUBLIC LENGTH_RSA_1536;yes;0.202000 +TYPE_RSA_PUBLIC LENGTH_RSA_1984;yes;0.206000 +TYPE_RSA_PUBLIC LENGTH_RSA_2048;yes;0.240000 +TYPE_RSA_PUBLIC LENGTH_RSA_3072;yes;0.198000 +TYPE_RSA_PUBLIC LENGTH_RSA_4096;yes;0.227000 +TYPE_RSA_PRIVATE LENGTH_RSA_512;yes;0.214000 +TYPE_RSA_PRIVATE LENGTH_RSA_736;yes;0.223000 +TYPE_RSA_PRIVATE LENGTH_RSA_768;yes;0.200000 +TYPE_RSA_PRIVATE LENGTH_RSA_896;yes;0.211000 +TYPE_RSA_PRIVATE LENGTH_RSA_1024;yes;0.186000 +TYPE_RSA_PRIVATE LENGTH_RSA_1280;yes;0.215000 +TYPE_RSA_PRIVATE LENGTH_RSA_1536;yes;0.184000 +TYPE_RSA_PRIVATE LENGTH_RSA_1984;yes;0.224000 +TYPE_RSA_PRIVATE LENGTH_RSA_2048;yes;0.191000 +TYPE_RSA_PRIVATE LENGTH_RSA_3072;yes;0.207000 +TYPE_RSA_PRIVATE LENGTH_RSA_4096;yes;0.195000 +TYPE_RSA_PRIVATE_TRANSIENT_RESET;yes;0.159000 +TYPE_RSA_PRIVATE_TRANSIENT_DESELECT;yes;0.137000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_512;yes;0.201000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_736;yes;0.194000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_768;yes;0.198000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_896;yes;0.184000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1024;yes;0.202000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1280;yes;0.197000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1536;yes;0.207000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1984;yes;0.185000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_2048;yes;0.221000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_3072;yes;0.197000 +TYPE_RSA_CRT_PRIVATE LENGTH_RSA_4096;yes;0.215000 +TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET;yes;0.134000 TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT;6f00; TYPE_DSA_PRIVATE LENGTH_DSA_512;no; TYPE_DSA_PRIVATE LENGTH_DSA_768;no; @@ -182,40 +181,40 @@ TYPE_EC_F2M_PRIVATE LENGTH_EC_F2M_163;no; TYPE_EC_F2M_PRIVATE LENGTH_EC_F2M_193;no; TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT;no; -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_112;yes;0.454000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_128;yes;0.478000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.546000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.517000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.531000 -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.516000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_112;yes;0.615000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_128;yes;0.610000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.623000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.635000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.595000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.619000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;no; -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.516000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;yes;0.602000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.494000 -TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;yes;0.299000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;yes;0.624000 +TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;yes;0.337000 TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;6f00; TYPE_KOREAN_SEED_TRANSIENT_RESET;no; TYPE_KOREAN_SEED_TRANSIENT_DESELECT;no; TYPE_KOREAN_SEED LENGTH_KOREAN_SEED_128;no; -TYPE_HMAC_TRANSIENT_RESET;yes;0.141000 +TYPE_HMAC_TRANSIENT_RESET;yes;0.126000 TYPE_HMAC_TRANSIENT_DESELECT;6f00; -TYPE_HMAC LENGTH_HMAC_SHA_1_BLOCK_64;yes;0.141000 -TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_64;yes;0.156000 -TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;yes;0.172000 -TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;yes;0.188000 +TYPE_HMAC LENGTH_HMAC_SHA_1_BLOCK_64;yes;0.178000 +TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_64;yes;0.207000 +TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;yes;0.193000 +TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;yes;0.209000 javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.078000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.078000 -ALG_EC_SVDP_DH_PLAIN;yes;0.078000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.084000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.103000 +ALG_EC_SVDP_DH_PLAIN;yes;0.087000 ALG_EC_SVDP_DHC_PLAIN;yes;0.094000 -ALG_EC_PACE_GM;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.016000 -ALG_DH_PLAIN;yes;0.000000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum -ALG_ISO3309_CRC16;yes;0.125000 -ALG_ISO3309_CRC32;yes;0.114000 +ALG_ISO3309_CRC16;yes;0.134000 +ALG_ISO3309_CRC32;yes;0.136000 javacard.security.KeyPair ALG_RSA on-card generation ALG_RSA LENGTH_RSA_512;yes;0.760000 From 17cfe76da843a01e58fb59a140f7b033d4bff767 Mon Sep 17 00:00:00 2001 From: petrs Date: Fri, 19 Apr 2019 21:30:25 +0200 Subject: [PATCH 4/6] version 1.7.7 string --- AlgTest_JavaCard/src/AlgTest/JCAlgTestApplet.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/AlgTest_JavaCard/src/AlgTest/JCAlgTestApplet.java b/AlgTest_JavaCard/src/AlgTest/JCAlgTestApplet.java index 58781d5d..c6854428 100644 --- a/AlgTest_JavaCard/src/AlgTest/JCAlgTestApplet.java +++ b/AlgTest_JavaCard/src/AlgTest/JCAlgTestApplet.java @@ -54,6 +54,11 @@ may be distributed under the terms of the GNU General Public License (GPL), public class JCAlgTestApplet extends javacard.framework.Applet { // NOTE: when incrementing version, don't forget to update ALGTEST_JAVACARD_VERSION_CURRENT value + /** + * Version 1.7.7 (17.04.2019) + * - fixed problem with incorrect reporting for KeyAgreement object + */ + final static byte ALGTEST_JAVACARD_VERSION_1_7_7[] = {(byte) 0x31, (byte) 0x2e, (byte) 0x37, (byte) 0x2e, (byte) 0x37}; /** * Version 1.7.6 (12.12.2018) * + added free RAM measurement before all objects allocation @@ -158,7 +163,7 @@ public class JCAlgTestApplet extends javacard.framework.Applet */ //final static byte ALGTEST_JAVACARD_VERSION_1_0[] = {(byte) 0x31, (byte) 0x2e, (byte) 0x30}; - byte ALGTEST_JAVACARD_VERSION_CURRENT[] = ALGTEST_JAVACARD_VERSION_1_7_6; + byte ALGTEST_JAVACARD_VERSION_CURRENT[] = ALGTEST_JAVACARD_VERSION_1_7_7; // lower byte of exception is value as defined in JCSDK/api_classic/constant-values.htm final static short SW_Exception = (short) 0xff01; From 618ed9d882a1dee63848ecc4d1570efd16e609f8 Mon Sep 17 00:00:00 2001 From: petrs Date: Fri, 19 Apr 2019 21:31:22 +0200 Subject: [PATCH 5/6] supressed high-power mode testing (some cards fails afterwards) --- AlgTest_JClient/src/algtestjclient/CardMngr.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AlgTest_JClient/src/algtestjclient/CardMngr.java b/AlgTest_JClient/src/algtestjclient/CardMngr.java index a9be0c5a..661960aa 100644 --- a/AlgTest_JClient/src/algtestjclient/CardMngr.java +++ b/AlgTest_JClient/src/algtestjclient/CardMngr.java @@ -427,6 +427,7 @@ public boolean ConnectToCard(CardTerminal targetReader, StringBuilder selectedRe ATR atr = m_card.getATR(); m_SystemOutLogger.println(bytesToHex(atr.getBytes())); + /* Supressed as some cards stops responding till reset after this command // Attempt to allow for high-power mode by selecting specific applet called try { ResponseAPDU resp2 = sendAPDU(selectADFusim); @@ -437,6 +438,7 @@ public boolean ConnectToCard(CardTerminal targetReader, StringBuilder selectedRe catch (Exception e) { m_SystemOutLogger.print("Exception when testing high-power mode"); } + */ // SELECT APPLET cardFound = false; From d08b6476d0e3e23f267a910850041c046d1bd3e8 Mon Sep 17 00:00:00 2001 From: petrs Date: Fri, 19 Apr 2019 23:04:07 +0200 Subject: [PATCH 6/6] rerun updated results for 1.7.7 (KeyAgreement fixed) --- Profiles/AlgTest_html_table.html | 2284 +- Profiles/AlgTest_html_table_20190419.html | 27330 ++++++++++++++++ ..._53_4a_76_31_30_31_(provided_by_PetrS).csv | 7 +- ..._31_fe_45_6d__(provided_by_Luka_Logar).csv | 7 +- ..._c0_a9_83_00_90_00_(provided_by_PetrS).csv | 11 +- ..._11_ac_83_00_90_00_(provided_by_PetrS).csv | 11 +- ..._07_90_00_f4__(provided_by_Luka_Logar).csv | 7 +- ..._50_76_32_34_31_b7_(provided_by_PetrS).csv | 22 +- ...ided_by_Adam_Zhang_and_Richard_Mitev).csv} | 34 +- ...rovided_by_Rowland_Watkins_and_PetrS).csv} | 14 +- ...1_63__(provided_by_Radboud_University).csv | 14 +- ...31 56 32 32 31 9d _(provided_by_PetrS).csv | 9 +- ...31 56 32 34 31 89 _(provided_by_PetrS).csv | 22 +- ..._31_56_32_33_32_98_(provided_by_PetrS).csv | 15 +- ..._31_56_32_33_32_98_(provided_by_PetrS).csv | 15 +- ..._31_56_32_33_32_98_(provided_by_PetrS).csv | 15 +- ..._31_56_32_33_32_98_(provided_by_PetrS).csv | 6 +- 17 files changed, 28589 insertions(+), 1234 deletions(-) create mode 100644 Profiles/AlgTest_html_table_20190419.html rename Profiles/results/{NXP_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv => NXP_JCOP3_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv} (94%) rename Profiles/results/{NXP_JCOP_J3H081_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins).csv => NXP_JCOP3_J3H081_EMV_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins_and_PetrS).csv} (97%) diff --git a/Profiles/AlgTest_html_table.html b/Profiles/AlgTest_html_table.html index 0871014f..04bf4f5a 100644 --- a/Profiles/AlgTest_html_table.html +++ b/Profiles/AlgTest_html_table.html @@ -62,30 +62,30 @@

Tested cards abbreviations

c49
NXP JCOP J2A080 80K ICFabDate 2011 070 , ATR=3b f8 18 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 bc (provided by PetrS),
c50 NXP J2E145G ICFabDate 2013 025 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by PetrS and Lukas Malina),
c51 NXP J3A080 ICFabDate 2011 035 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS),
-c52 NXP J3H081 EMV ICFabDate 2016 355 , ATR=3b f8 18 00 00 81 31 fe 45 00 73 c8 40 00 00 90 00 80 (provided by Adam Zhang and Richard Mitev),
-c53 NXP JCOP10 (DES only version) , ATR=3b e9 00 00 81 31 fe 45 4a 43 4f 50 31 30 56 32 32 a3 (provided by Henrik),
-c54 NXP JCOP31 , ATR=3B EB 00 00 81 31 20 45 4A 43 4F 50 33 31 33 36 47 44 54 78 (provided by PetrS),
-c55 NXP JCOP3 J3H145 SECID P60 , ATR=3b 11 95 80 (provided by Luka Logar and Rowland Watkins and PetrS),
-c56 NXP JCOP41 v2.3.1 ICFabDate 2008 , ATR=3b fa 18 00 ff 81 31 fe 45 4a 43 4f 50 34 31 56 32 33 31 63 (provided by Radboud University),
-c57 NXP JCOP41 v221 , ATR=3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d (provided by PetrS), PerformanceGraphs
-c58 NXP JCOP 10.18 v2.3.1 ICFabDate 2008 163 , ATR=3b fa 13 00 00 81 31 fe 45 4a 43 4f 50 31 30 56 32 33 31 93 (provided by PetrS),
-c59 NXP JCOP 21 v2.4.2R3 ICFabDate 2013 025 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by PetrS), PerformanceGraphs
-c60 NXP JCOP 21 V2.2 36K ICFabDate 2008 015 , ATR=3b f9 18 00 00 81 31 fe 45 4a 43 4f 50 32 31 56 32 32 a9 (provided by PetrS), PerformanceGraphs
-c61 NXP JCOP 31 V2.2 36K ICFabDate 2006 306 , ATR=3b eb 00 00 81 31 20 45 4a 43 4f 50 33 31 33 36 47 44 54 78 (provided by PetrS), PerformanceGraphs
-c62 NXP JCOP 31 V2.3.2 ICFabDate 2011 016 , ATR=3b 8a 80 01 4a 43 4f 50 33 31 56 32 33 32 7a (provided by Martin Omacka),
-c63 NXP JCOP 31 V2.4.1 72K ICFabDate 2012 240 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS), PerformanceGraphs
-c64 NXP JCOP CJ2A081 JC222 ICFabDate 2012 240 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS), PerformanceGraphs
-c65 NXP JCOP CJ3A080v241 , ATR=3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 31 B7 (provided by Lazuardi Nasution), PerformanceGraphs
-c66 NXP JCOP CJ3A081 JC222 , ATR=3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 (provided by PetrS), PerformanceGraphs
-c67 NXP JCOP J2A080 , ATR=3b f6 18 00 ff 81 31 fe 45 4a 32 41 30 38 30 1b (provided by Pierre-d), PerformanceGraphs
-c68 NXP JCOP J2A080 80K ICFabDate 2011 070 , ATR=3b f8 18 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 bc (provided by PetrS),
-c69 NXP JCOP J2A080 ICFabDate 2018 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 01 (provided by Toporin),
-c70 NXP JCOP J2D081 80K ICFabDate 2014 126 , ATR=3b f9 18 00 00 81 31 fe 45 4a 32 44 30 38 31 5f 50 56 b6 (provided by PetrS and Paul Crocker), PerformanceGraphs
-c71 NXP JCOP J2D081 ICFabDate 2017 , ATR=3b f9 18 00 00 81 31 fe 45 4a 32 44 30 38 31 5f 50 56 b6 (provided by Toporin),
-c72 NXP JCOP J3A040 ICFabDate 2010 071 , ATR=3b 88 80 01 4a 43 4f 50 76 32 34 31 5e (provided by Lukas Malina),
-c73 NXP JCOP J3A081 ICFabDate 2013 , ATR=3b f9 18 00 ff 81 31 fe 45 50 56 5f 4a 33 41 30 38 31 4d (provided by Toporin),
-c74 NXP JCOP J3D081 v242r2 ICFabDate 2012 334 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 32 a3 (provided by Martin Paljak and Arnis UT),
-c75 NXP JCOP J3H081 ICFabDate 2018 , ATR=3b fa 18 00 00 81 31 fe 45 50 56 4a 43 4f 50 33 45 4d 56 94 (provided by Rowland Watkins),
+c52 NXP JCOP10 (DES only version) , ATR=3b e9 00 00 81 31 fe 45 4a 43 4f 50 31 30 56 32 32 a3 (provided by Henrik),
+c53 NXP JCOP31 , ATR=3B EB 00 00 81 31 20 45 4A 43 4F 50 33 31 33 36 47 44 54 78 (provided by PetrS),
+c54 NXP JCOP3 J3H081 EMV ICFabDate 2016 355 , ATR=3b f8 18 00 00 81 31 fe 45 00 73 c8 40 00 00 90 00 80 (provided by Adam Zhang and Richard Mitev),
+c55 NXP JCOP3 J3H081 EMV ICFabDate 2018 , ATR=3b fa 18 00 00 81 31 fe 45 50 56 4a 43 4f 50 33 45 4d 56 94 (provided by Rowland Watkins and PetrS),
+c56 NXP JCOP3 J3H145 SECID P60 , ATR=3b 11 95 80 (provided by Luka Logar and Rowland Watkins and PetrS),
+c57 NXP JCOP41 v2.3.1 ICFabDate 2008 , ATR=3b fa 18 00 ff 81 31 fe 45 4a 43 4f 50 34 31 56 32 33 31 63 (provided by Radboud University),
+c58 NXP JCOP41 v221 , ATR=3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d (provided by PetrS), PerformanceGraphs
+c59 NXP JCOP 10.18 v2.3.1 ICFabDate 2008 163 , ATR=3b fa 13 00 00 81 31 fe 45 4a 43 4f 50 31 30 56 32 33 31 93 (provided by PetrS),
+c60 NXP JCOP 21 v2.4.2R3 ICFabDate 2013 025 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by PetrS), PerformanceGraphs
+c61 NXP JCOP 21 V2.2 36K ICFabDate 2008 015 , ATR=3b f9 18 00 00 81 31 fe 45 4a 43 4f 50 32 31 56 32 32 a9 (provided by PetrS), PerformanceGraphs
+c62 NXP JCOP 31 V2.2 36K ICFabDate 2006 306 , ATR=3b eb 00 00 81 31 20 45 4a 43 4f 50 33 31 33 36 47 44 54 78 (provided by PetrS), PerformanceGraphs
+c63 NXP JCOP 31 V2.3.2 ICFabDate 2011 016 , ATR=3b 8a 80 01 4a 43 4f 50 33 31 56 32 33 32 7a (provided by Martin Omacka),
+c64 NXP JCOP 31 V2.4.1 72K ICFabDate 2012 240 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS), PerformanceGraphs
+c65 NXP JCOP CJ2A081 JC222 ICFabDate 2012 240 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS), PerformanceGraphs
+c66 NXP JCOP CJ3A080v241 , ATR=3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 31 B7 (provided by Lazuardi Nasution), PerformanceGraphs
+c67 NXP JCOP CJ3A081 JC222 , ATR=3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 (provided by PetrS), PerformanceGraphs
+c68 NXP JCOP J2A080 , ATR=3b f6 18 00 ff 81 31 fe 45 4a 32 41 30 38 30 1b (provided by Pierre-d), PerformanceGraphs
+c69 NXP JCOP J2A080 80K ICFabDate 2011 070 , ATR=3b f8 18 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 bc (provided by PetrS),
+c70 NXP JCOP J2A080 ICFabDate 2018 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 01 (provided by Toporin),
+c71 NXP JCOP J2D081 80K ICFabDate 2014 126 , ATR=3b f9 18 00 00 81 31 fe 45 4a 32 44 30 38 31 5f 50 56 b6 (provided by PetrS and Paul Crocker), PerformanceGraphs
+c72 NXP JCOP J2D081 ICFabDate 2017 , ATR=3b f9 18 00 00 81 31 fe 45 4a 32 44 30 38 31 5f 50 56 b6 (provided by Toporin),
+c73 NXP JCOP J3A040 ICFabDate 2010 071 , ATR=3b 88 80 01 4a 43 4f 50 76 32 34 31 5e (provided by Lukas Malina),
+c74 NXP JCOP J3A081 ICFabDate 2013 , ATR=3b f9 18 00 ff 81 31 fe 45 50 56 5f 4a 33 41 30 38 31 4d (provided by Toporin),
+c75 NXP JCOP J3D081 v242r2 ICFabDate 2012 334 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 32 a3 (provided by Martin Paljak and Arnis UT),
c76 NXP JCOP NXP250A v242r3 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by Amir Digar Nemikhandad),
c77 Oberthur CosmoDual72K , ATR=3B 7B 18 00 00 00 31 C0 64 77 E3 03 00 82 90 00 (provided by PetrS),
c78 Oberthur Cosmo V7 64K Dual 128K , ATR=3B DB 18 00 80 B1 FE 45 1F 83 00 31 C0 64 C7 FC 10 00 01 90 00 FA (provided by Cosmo),
@@ -194,32 +194,32 @@

Click on each checkbox to show/hide corresponding column (card)

c49 - NXP JCOP J2A080 80K ICFabDate 2011 070

c50 - NXP J2E145G ICFabDate 2013 025

c51 - NXP J3A080 ICFabDate 2011 035

-

c52 - NXP J3H081 EMV ICFabDate 2016 355

-

c53 - NXP JCOP10 (DES only version)

-

c54 - NXP JCOP31

-

c55 - NXP JCOP3 J3H145 SECID P60

-

c56 - NXP JCOP41 v2.3.1 ICFabDate 2008

-

c57 - NXP JCOP41 v221

-

c58 - NXP JCOP 10.18 v2.3.1 ICFabDate 2008 163

-

c59 - NXP JCOP 21 v2.4.2R3 ICFabDate 2013 025

-

c60 - NXP JCOP 21 V2.2 36K ICFabDate 2008 015

-

c61 - NXP JCOP 31 V2.2 36K ICFabDate 2006 306

+

c52 - NXP JCOP10 (DES only version)

+

c53 - NXP JCOP31

+

c54 - NXP JCOP3 J3H081 EMV ICFabDate 2016 355

+

c55 - NXP JCOP3 J3H081 EMV ICFabDate 2018

+

c56 - NXP JCOP3 J3H145 SECID P60

+

c57 - NXP JCOP41 v2.3.1 ICFabDate 2008

+

c58 - NXP JCOP41 v221

+

c59 - NXP JCOP 10.18 v2.3.1 ICFabDate 2008 163

+

c60 - NXP JCOP 21 v2.4.2R3 ICFabDate 2013 025

+

c61 - NXP JCOP 21 V2.2 36K ICFabDate 2008 015

-

c62 - NXP JCOP 31 V2.3.2 ICFabDate 2011 016

-

c63 - NXP JCOP 31 V2.4.1 72K ICFabDate 2012 240

-

c64 - NXP JCOP CJ2A081 JC222 ICFabDate 2012 240

-

c65 - NXP JCOP CJ3A080v241

-

c66 - NXP JCOP CJ3A081 JC222

-

c67 - NXP JCOP J2A080

-

c68 - NXP JCOP J2A080 80K ICFabDate 2011 070

-

c69 - NXP JCOP J2A080 ICFabDate 2018

-

c70 - NXP JCOP J2D081 80K ICFabDate 2014 126

-

c71 - NXP JCOP J2D081 ICFabDate 2017

-

c72 - NXP JCOP J3A040 ICFabDate 2010 071

-

c73 - NXP JCOP J3A081 ICFabDate 2013

-

c74 - NXP JCOP J3D081 v242r2 ICFabDate 2012 334

-

c75 - NXP JCOP J3H081 ICFabDate 2018

+

c62 - NXP JCOP 31 V2.2 36K ICFabDate 2006 306

+

c63 - NXP JCOP 31 V2.3.2 ICFabDate 2011 016

+

c64 - NXP JCOP 31 V2.4.1 72K ICFabDate 2012 240

+

c65 - NXP JCOP CJ2A081 JC222 ICFabDate 2012 240

+

c66 - NXP JCOP CJ3A080v241

+

c67 - NXP JCOP CJ3A081 JC222

+

c68 - NXP JCOP J2A080

+

c69 - NXP JCOP J2A080 80K ICFabDate 2011 070

+

c70 - NXP JCOP J2A080 ICFabDate 2018

+

c71 - NXP JCOP J2D081 80K ICFabDate 2014 126

+

c72 - NXP JCOP J2D081 ICFabDate 2017

+

c73 - NXP JCOP J3A040 ICFabDate 2010 071

+

c74 - NXP JCOP J3A081 ICFabDate 2013

+

c75 - NXP JCOP J3D081 v242r2 ICFabDate 2012 334

c76 - NXP JCOP NXP250A v242r3

c77 - Oberthur CosmoDual72K

c78 - Oberthur Cosmo V7 64K Dual 128K

@@ -300,30 +300,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -346,7 +346,7 @@

Click on each checkbox to show/hide corresponding column (card)

1.7.1 1.7.5 1.2 - 1.7.3 + 1.7.7 0.1 0.1 1.7.0 @@ -358,13 +358,13 @@

Click on each checkbox to show/hide corresponding column (card)

1.6.0 1.6.0 1.6.0 - 1.7.1 - 1.6.0 + 1.7.7 + 1.7.7 1.7.0 1.6.0 1.7.0 - 1.7.0 - 1.7.5 + 1.7.7 + 1.7.7 1.7.5 0.1 1.6.0 @@ -380,10 +380,10 @@

Click on each checkbox to show/hide corresponding column (card)

1.1 error error - 1.7.0 + 1.7.7 1.1 1.7.5 - 1.7.4 + 1.7.7 1.7.6 1.6.0 1.6.0 @@ -394,22 +394,23 @@

Click on each checkbox to show/hide corresponding column (card)

0.1 1.6.0 1.7.1 - 1.7.4 - 1.7.4 + 1.7.7 1.1 1.2 - 1.7.5 + 1.7.7 + 1.7.0 + 1.7.7 1.7.1 1.1 1.7.0 - 1.7.0 + 1.7.7 1.6.0 1.6.0 1.6.0 - 1.7.0 + 1.7.7 1.7.0 1.2 - 1.7.3 + 1.7.7 1.1 1.7.0 1.7.6 @@ -418,14 +419,13 @@

Click on each checkbox to show/hide corresponding column (card)

1.7.1 1.7.6 1.6.0 - 1.7.0 1.3 1.1 1.2 - 1.7.5 + 1.7.7 1.7.0 1.6.0 - 1.7.6 + 1.7.7 error 1.1 1.2 @@ -491,8 +491,9 @@

Click on each checkbox to show/hide corresponding column (card)

3.0.1 2.2.2 - - - 2.2.1 + - + - 3.0.4 - 2.2.1 @@ -513,7 +514,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - 3.0.2 2.2.1 - @@ -585,30 +585,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -680,9 +680,10 @@

Click on each checkbox to show/hide corresponding column (card)

2.2 3.0 2.2 - 3.0 2. 2 - + 3.0 + 3.0 3.0 2.2 2.2 @@ -703,7 +704,6 @@

Click on each checkbox to show/hide corresponding column (card)

2.2 2.2 3.0 - 3.0 3.0 - 2.2 @@ -775,9 +775,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes yes - yes yes - + yes + yes yes yes yes @@ -798,7 +799,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes - yes @@ -870,9 +870,10 @@

Click on each checkbox to show/hide corresponding column (card)

-1B 23776B >32767B - 32140B 5752B - + 32140B + 20052B >32767B >32767B >32767B @@ -893,7 +894,6 @@

Click on each checkbox to show/hide corresponding column (card)

4064B >32767B >32767B - 20052B >32767B - >32767B @@ -965,9 +965,10 @@

Click on each checkbox to show/hide corresponding column (card)

-1B 2573B 2140B - 1462B 1087B - + 1462B + 977B 2792B 1906B 1975B @@ -988,7 +989,6 @@

Click on each checkbox to show/hide corresponding column (card)

2267B 3480B 1875B - 977B 3069B - 1458B @@ -1060,9 +1060,10 @@

Click on each checkbox to show/hide corresponding column (card)

-1B 512B 512B - 1960B 1087B - + 1960B + 1960B 32767B 512B 1975B @@ -1083,7 +1084,6 @@

Click on each checkbox to show/hide corresponding column (card)

512B - 512B - 1960B 3069B - 1458B @@ -1158,6 +1158,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - 32767B 512B - @@ -1181,7 +1182,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - 570B 511B 2037B @@ -1250,30 +1250,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -1345,11 +1345,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no no - - + - + - no - - @@ -1369,7 +1370,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - - @@ -1440,30 +1440,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -1535,9 +1535,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -1558,7 +1559,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -1630,9 +1630,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -1653,7 +1654,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -1725,9 +1725,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -1748,7 +1749,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -1820,9 +1820,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes no yes - no no no + no + no no no no @@ -1843,7 +1844,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes no - no no no no @@ -1915,9 +1915,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -1938,7 +1939,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -2010,9 +2010,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -2033,7 +2034,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -2105,9 +2105,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -2128,7 +2129,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -2200,9 +2200,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -2223,7 +2224,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -2295,9 +2295,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -2318,7 +2319,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -2390,9 +2390,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -2413,7 +2414,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -2485,9 +2485,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -2508,7 +2509,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -2580,9 +2580,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -2603,7 +2604,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -2675,9 +2675,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -2698,7 +2699,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -2770,9 +2770,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -2793,7 +2794,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -2865,9 +2865,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no no + yes + yes yes no no @@ -2888,7 +2889,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no yes yes @@ -2960,9 +2960,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes no no no @@ -2983,7 +2984,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no no @@ -3055,9 +3055,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes no no no @@ -3078,7 +3079,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no no @@ -3150,9 +3150,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -3173,7 +3174,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -3245,9 +3245,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -3268,7 +3269,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -3340,9 +3340,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -3363,7 +3364,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -3435,9 +3435,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -3458,7 +3459,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -3530,9 +3530,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - - + yes + yes yes no - @@ -3553,7 +3554,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no - no @@ -3625,9 +3625,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - - + yes + yes yes no - @@ -3648,7 +3649,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no - no @@ -3720,9 +3720,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -3743,7 +3744,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -3815,9 +3815,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - - + yes + yes yes no - @@ -3838,7 +3839,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no - no @@ -3910,9 +3910,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - - + yes + yes yes no - @@ -3933,7 +3934,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no - no @@ -4005,9 +4005,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -4028,7 +4029,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -4100,30 +4100,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -4195,9 +4195,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -4218,7 +4219,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes yes @@ -4290,9 +4290,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -4313,7 +4314,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -4385,9 +4385,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -4408,7 +4409,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes yes @@ -4480,9 +4480,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -4503,7 +4504,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -4575,9 +4575,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no no + yes + yes yes no no @@ -4598,7 +4599,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no yes yes @@ -4670,9 +4670,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -4693,7 +4694,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -4765,9 +4765,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -4788,7 +4789,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -4860,9 +4860,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -4883,7 +4884,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -4955,9 +4955,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - SystemException(NO_TRANSIENT_SPACE) no yes + SystemException(NO_TRANSIENT_SPACE) + yes yes yes yes @@ -4978,7 +4979,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -5050,9 +5050,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - SystemException(NO_TRANSIENT_SPACE) no yes + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes yes yes @@ -5073,7 +5074,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - 6f00 yes yes yes @@ -5145,9 +5145,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no no yes yes @@ -5168,7 +5169,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes no @@ -5240,9 +5240,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -5263,7 +5264,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -5335,9 +5335,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -5358,7 +5359,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -5430,9 +5430,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -5453,7 +5454,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -5525,9 +5525,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -5548,7 +5549,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -5620,9 +5620,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -5643,7 +5644,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -5715,9 +5715,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -5738,7 +5739,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes no yes @@ -5810,9 +5810,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -5833,7 +5834,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -5905,9 +5905,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no no + yes + yes yes no no @@ -5928,7 +5929,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no yes yes @@ -6000,9 +6000,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -6023,7 +6024,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -6095,9 +6095,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - SystemException(NO_TRANSIENT_SPACE) no no + SystemException(NO_TRANSIENT_SPACE) + yes yes no no @@ -6118,7 +6119,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - yes yes yes yes @@ -6190,9 +6190,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6213,7 +6214,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes no @@ -6285,9 +6285,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6308,7 +6309,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6380,9 +6380,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6403,7 +6404,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6475,9 +6475,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6498,7 +6499,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6570,9 +6570,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6593,7 +6594,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6665,9 +6665,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6688,7 +6689,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6760,9 +6760,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6783,7 +6784,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6855,9 +6855,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -6878,7 +6879,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -6950,9 +6950,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) no no + SystemException(NO_TRANSIENT_SPACE) + 6f00 no no no @@ -6973,7 +6974,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - 6f00 no no no @@ -7045,9 +7045,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -7068,7 +7069,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -7140,9 +7140,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes no no no @@ -7163,7 +7164,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no no @@ -7235,9 +7235,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no - - + no + no yes no - @@ -7258,7 +7259,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes - no @@ -7330,9 +7330,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no yes no - @@ -7353,7 +7354,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -7425,9 +7425,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -7448,7 +7449,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -7520,9 +7520,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -7543,7 +7544,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -7615,9 +7615,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no - - + no + no yes no - @@ -7638,7 +7639,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes - no @@ -7710,9 +7710,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no yes no - @@ -7733,7 +7734,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -7805,9 +7805,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + yes yes no - @@ -7828,7 +7829,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no - no @@ -7900,9 +7900,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -7923,7 +7924,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - 6f00 yes - no @@ -7995,9 +7995,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -8018,7 +8019,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - 6f00 no - no @@ -8090,9 +8090,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -8113,7 +8114,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - 6f00 no - no @@ -8185,9 +8185,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -8208,7 +8209,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - 6f00 yes - no @@ -8280,9 +8280,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -8303,7 +8304,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - 6f00 yes - no @@ -8375,9 +8375,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -8398,7 +8399,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - 6f00 no - no @@ -8470,9 +8470,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) - - + SystemException(NO_TRANSIENT_SPACE) + 6f00 yes no - @@ -8493,7 +8494,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - 6f00 no - no @@ -8565,9 +8565,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -8588,7 +8589,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -8660,9 +8660,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - - + yes + yes yes no - @@ -8683,7 +8684,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no - no @@ -8718,12 +8718,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -8740,7 +8740,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -8755,18 +8755,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - yes - - + yes + yes no no - - + no - - - - - - - + no - - no @@ -8778,7 +8779,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - yes - - - @@ -8850,30 +8850,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -8945,9 +8945,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -8968,7 +8969,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -9040,9 +9040,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes no yes yes @@ -9063,7 +9064,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes no @@ -9135,9 +9135,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -9158,7 +9159,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -9230,9 +9230,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes yes no no @@ -9253,7 +9254,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -9325,9 +9325,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) no no + SystemException(NO_TRANSIENT_SPACE) + yes yes no no @@ -9348,7 +9349,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no no yes @@ -9420,9 +9420,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - SystemException(NO_TRANSIENT_SPACE) no no + SystemException(NO_TRANSIENT_SPACE) + yes yes no no @@ -9443,7 +9444,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no no yes @@ -9515,9 +9515,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - yes - - + yes + yes yes no - @@ -9538,7 +9539,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - yes yes - no @@ -9573,12 +9573,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -9595,7 +9595,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -9610,18 +9610,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -9633,7 +9634,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -9668,12 +9668,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -9690,7 +9690,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -9705,18 +9705,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -9728,7 +9729,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -9763,12 +9763,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -9785,7 +9785,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -9800,18 +9800,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -9823,7 +9824,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -9858,12 +9858,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -9880,7 +9880,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -9895,18 +9895,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -9918,7 +9919,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -9990,30 +9990,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -10085,9 +10085,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -10108,7 +10109,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -10180,9 +10180,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -10203,7 +10204,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -10238,12 +10238,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -10260,7 +10260,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -10275,18 +10275,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -10298,7 +10299,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -10333,12 +10333,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -10355,7 +10355,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -10370,18 +10370,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -10393,7 +10394,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -10428,12 +10428,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -10450,7 +10450,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -10465,18 +10465,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -10488,7 +10489,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -10523,12 +10523,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no - - - - - - - - - + no no no - @@ -10545,7 +10545,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - + no - no no @@ -10560,18 +10560,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - no - no - - + no + no no no - - + no - - - - - - - + no - - no @@ -10583,7 +10584,6 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - no - - - @@ -10655,30 +10655,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -10750,9 +10750,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -10773,7 +10774,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -10845,9 +10845,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -10868,7 +10869,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -10940,9 +10940,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -10963,7 +10964,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -11035,9 +11035,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -11058,7 +11059,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -11130,9 +11130,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes + yes + yes yes yes yes @@ -11153,7 +11154,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -11225,9 +11225,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes yes yes no @@ -11248,7 +11249,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -11320,9 +11320,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes yes yes no @@ -11343,7 +11344,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -11415,9 +11415,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes yes yes no @@ -11438,7 +11439,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -11510,9 +11510,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes yes yes no @@ -11533,7 +11534,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -11605,9 +11605,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes yes yes no @@ -11628,7 +11629,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -11700,9 +11700,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -11723,7 +11724,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -11795,9 +11795,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -11818,7 +11819,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -11890,9 +11890,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -11913,7 +11914,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -11985,9 +11985,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12008,7 +12009,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12080,9 +12080,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12103,7 +12104,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12175,9 +12175,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12198,7 +12199,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12270,9 +12270,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12293,7 +12294,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12365,9 +12365,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12388,7 +12389,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12460,9 +12460,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12483,7 +12484,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12555,9 +12555,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - no + no + no no no no @@ -12578,7 +12579,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -12650,9 +12650,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12673,7 +12674,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12745,9 +12745,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12768,7 +12769,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12840,9 +12840,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12863,7 +12864,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -12935,9 +12935,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -12958,7 +12959,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13030,9 +13030,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -13053,7 +13054,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13125,9 +13125,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -13148,7 +13149,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13220,9 +13220,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -13243,7 +13244,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13315,9 +13315,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -13338,7 +13339,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13410,9 +13410,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -13433,7 +13434,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13505,9 +13505,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - no + no + no no no no @@ -13528,7 +13529,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -13600,9 +13600,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -13623,7 +13624,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -13695,9 +13695,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -13718,7 +13719,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -13790,9 +13790,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -13813,7 +13814,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -13885,9 +13885,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - yes no no + yes + yes yes no no @@ -13908,7 +13909,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - yes yes yes yes @@ -13980,9 +13980,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14003,7 +14004,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14075,9 +14075,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14098,7 +14099,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14170,9 +14170,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14193,7 +14194,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14265,9 +14265,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14288,7 +14289,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14360,9 +14360,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14383,7 +14384,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14455,9 +14455,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14478,7 +14479,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14550,9 +14550,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no yes + yes + yes yes yes yes @@ -14573,7 +14574,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes yes yes @@ -14645,9 +14645,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - no + no + no no no no @@ -14668,7 +14669,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -14740,9 +14740,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -14763,7 +14764,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -14835,9 +14835,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -14858,7 +14859,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -14930,9 +14930,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -14953,7 +14954,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15025,9 +15025,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -15048,7 +15049,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15120,9 +15120,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -15143,7 +15144,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15215,9 +15215,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -15238,7 +15239,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -15310,9 +15310,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -15333,7 +15334,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -15405,9 +15405,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -15428,7 +15429,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15500,9 +15500,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -15523,7 +15524,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15595,9 +15595,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -15618,7 +15619,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15690,9 +15690,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no yes yes @@ -15713,7 +15714,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15785,9 +15785,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no yes yes @@ -15808,7 +15809,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15880,9 +15880,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no yes yes @@ -15903,7 +15904,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -15975,9 +15975,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no yes yes @@ -15998,7 +15999,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -16070,9 +16070,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -16093,7 +16094,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -16165,9 +16165,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -16188,7 +16189,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -16260,9 +16260,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -16283,7 +16284,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -16355,9 +16355,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no no + no + no no no no @@ -16378,7 +16379,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes no no @@ -16450,9 +16450,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no no + no + no yes no no @@ -16473,7 +16474,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes no yes @@ -16545,9 +16545,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no no + no + no yes no no @@ -16568,7 +16569,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes no yes @@ -16640,9 +16640,10 @@

Click on each checkbox to show/hide corresponding column (card)

suspicious yes yes suspicious yes - no - - + no + no yes no - @@ -16663,7 +16664,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes - yes @@ -16735,9 +16735,10 @@

Click on each checkbox to show/hide corresponding column (card)

suspicious yes yes suspicious yes - no - - + no + no yes no - @@ -16758,7 +16759,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes - yes @@ -16830,9 +16830,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no yes no - @@ -16853,7 +16854,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - yes @@ -16925,9 +16925,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no yes no - @@ -16948,7 +16949,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - yes @@ -17020,9 +17020,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -17043,7 +17044,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -17115,9 +17115,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no no no - @@ -17138,7 +17139,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -17210,9 +17210,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes no no no @@ -17233,7 +17234,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no no @@ -17305,9 +17305,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes no no no @@ -17328,7 +17329,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no no @@ -17400,9 +17400,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + yes + yes no no no @@ -17423,7 +17424,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no no @@ -17495,9 +17495,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -17518,7 +17519,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -17590,9 +17590,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -17613,7 +17614,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -17685,9 +17685,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -17708,7 +17709,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -17780,9 +17780,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -17803,7 +17804,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -17875,9 +17875,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -17898,7 +17899,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -17970,9 +17970,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -17993,7 +17994,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -18065,30 +18065,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -18160,9 +18160,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18183,7 +18184,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no no @@ -18255,9 +18255,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18278,7 +18279,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no no @@ -18350,9 +18350,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18373,7 +18374,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no no @@ -18445,9 +18445,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18468,7 +18469,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no no @@ -18540,9 +18540,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18563,7 +18564,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no yes @@ -18635,9 +18635,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18658,7 +18659,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no yes @@ -18730,9 +18730,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18753,7 +18754,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no yes @@ -18825,9 +18825,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18848,7 +18849,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no no @@ -18920,9 +18920,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -18943,7 +18944,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes no yes @@ -19015,9 +19015,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - no + no + no no no no @@ -19038,7 +19039,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -19110,30 +19110,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -19205,9 +19205,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19228,7 +19229,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes no @@ -19300,9 +19300,10 @@

Click on each checkbox to show/hide corresponding column (card)

no yes no - no no no + no + no yes no no @@ -19323,7 +19324,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no yes - no yes yes no @@ -19395,9 +19395,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19418,7 +19419,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes no @@ -19490,9 +19490,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19513,7 +19514,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes no @@ -19585,9 +19585,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19608,7 +19609,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes yes @@ -19680,9 +19680,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19703,7 +19704,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes yes @@ -19775,9 +19775,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19798,7 +19799,6 @@

Click on each checkbox to show/hide corresponding column (card)

error(0x6300) yes yes - no yes yes yes @@ -19870,9 +19870,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19893,7 +19894,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes no @@ -19965,9 +19965,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no yes + no + no yes yes yes @@ -19988,7 +19989,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no yes yes yes @@ -20060,9 +20060,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - no + no + no no no no @@ -20083,7 +20084,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20155,30 +20155,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -20250,9 +20250,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -20273,7 +20274,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20345,9 +20345,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -20368,7 +20369,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20440,9 +20440,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -20463,7 +20464,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20535,30 +20535,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -20630,9 +20630,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no yes yes @@ -20653,7 +20654,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20725,9 +20725,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no yes yes @@ -20748,7 +20749,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20820,9 +20820,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no no yes @@ -20843,7 +20844,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -20915,9 +20915,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no yes + no + no no no yes @@ -20938,7 +20939,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -21010,30 +21010,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -21105,9 +21105,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no + no + no no no no @@ -21128,7 +21129,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no no no @@ -21200,9 +21200,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no no + no + no no no no @@ -21223,7 +21224,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes error(ILLEGAL_VALUE) - no error(ILLEGAL_VALUE) no no @@ -21295,9 +21295,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no no + no + no yes no no @@ -21318,7 +21319,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes error(ILLEGAL_VALUE) - no error(ILLEGAL_VALUE) no no @@ -21390,9 +21390,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no no + no + no yes no no @@ -21413,7 +21414,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes error(ILLEGAL_VALUE) - no error(ILLEGAL_VALUE) no no @@ -21485,9 +21485,10 @@

Click on each checkbox to show/hide corresponding column (card)

error(ILLEGAL_VALUE) yes suspicious yes - no - - + no + no yes no - @@ -21508,7 +21509,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes error(ILLEGAL_VALUE) - no error(ILLEGAL_VALUE) - no @@ -21580,9 +21580,10 @@

Click on each checkbox to show/hide corresponding column (card)

error(ILLEGAL_VALUE) yes suspicious yes - no - - + no + no yes no - @@ -21603,7 +21604,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes error(ILLEGAL_VALUE) - no error(ILLEGAL_VALUE) - no @@ -21675,9 +21675,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no yes no - @@ -21698,7 +21699,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -21770,9 +21770,10 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no - - + no + no yes no - @@ -21793,7 +21794,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - no no - no @@ -21865,30 +21865,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -21943,8 +21943,8 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - suspicious yes + no + no yes no yes @@ -21960,12 +21960,13 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no no + no + no yes - yes - yes + no + no yes yes yes @@ -21974,7 +21975,7 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes + - yes yes yes @@ -21983,7 +21984,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no yes @@ -22018,12 +22018,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - - - + no + no no - - - - + yes yes yes - @@ -22038,9 +22038,9 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes - suspicious yes - - + no + no + yes no yes yes @@ -22055,18 +22055,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - yes - yes no no + no + no yes - yes - yes - - - - + no + no - + no - - - + yes - yes yes @@ -22078,7 +22079,6 @@

Click on each checkbox to show/hide corresponding column (card)

- yes - - yes no no yes @@ -22113,12 +22113,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - - - + no + no no - - - - + yes yes yes - @@ -22133,38 +22133,39 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - suspicious yes - suspicious yes - - + no + no + yes - yes yes yes - - - suspicious yes - suspicious yes - yes + no + no + no yes - - - - suspicious yes - yes + no - - + no + no yes - yes - - - - - - + no + no - + yes - - - + no - - - suspicious yes + no - - no @@ -22173,11 +22174,10 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - yes yes - no - suspicious yes + no - - yes @@ -22208,12 +22208,12 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - - - + no + no no - - - - + yes yes yes - @@ -22228,38 +22228,39 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - suspicious yes - suspicious yes - - + no + no + yes - yes yes yes - - - suspicious yes - suspicious yes - yes + no + no + no yes - - - - suspicious yes - yes + no - - + no + no yes - yes - - - - + no + no - + no - - - + no - - - - - suspicious yes + no - - no @@ -22268,11 +22269,10 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - yes no - no - suspicious yes + no - - yes @@ -22289,9 +22289,9 @@

Click on each checkbox to show/hide corresponding column (card)

ALG_EC_PACE_GM 3.0.5 - - suspicious yes + no - - suspicious yes + no - - no @@ -22303,20 +22303,18 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - - - + no + no no - - + no + no + no - - suspicious yes - suspicious yes - - - - - - - suspicious yes - - + no - - - @@ -22325,36 +22323,39 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no + no - - - - yes - yes + no + no no - - - suspicious yes - suspicious yes - suspicious yes - yes + no + no + no + no - - - - suspicious yes - yes + no - - + no + no suspicious yes - yes - - - - + no + no - + no - - - + no - - - - - suspicious yes + no - - no @@ -22363,14 +22364,13 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - yes - - - - suspicious yes + no - - - yes + no - - - @@ -22384,9 +22384,9 @@

Click on each checkbox to show/hide corresponding column (card)

ALG_EC_SVDP_DH_PLAIN_XY 3.0.5 - - suspicious yes + no - - suspicious yes + no - - no @@ -22398,18 +22398,19 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - - - + no + no no - - + no + no + no - - suspicious yes - suspicious yes - - + no - - suspicious yes - - - @@ -22417,39 +22418,39 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no + no - - - - - - - - - - yes - yes + no + no no - - - suspicious yes - suspicious yes - suspicious yes - yes + no + no + no + no - - - - suspicious yes - yes + no - - + no + no suspicious yes - yes - - - - + no + no - + no - - - + no - - - - - suspicious yes + no - - no @@ -22458,14 +22459,13 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - yes - - - - suspicious yes + no - - - yes + no - - - @@ -22479,9 +22479,9 @@

Click on each checkbox to show/hide corresponding column (card)

ALG_DH_PLAIN 3.0.5 - - suspicious yes + no - - suspicious yes + no - - no @@ -22493,20 +22493,18 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - - - + no + no no - - + no + no + no - - suspicious yes - suspicious yes - - - - - - - suspicious yes - - + no - - - @@ -22515,36 +22513,39 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + no + no + no - - - - yes - yes + no + no no - - - suspicious yes - suspicious yes - suspicious yes - yes - - - - + no + no + no + no - - suspicious yes - yes - - - suspicious yes - yes + no - - + no + no + no + no + no - + no - - - + no - - - - - suspicious yes + no - - no @@ -22553,14 +22554,13 @@

Click on each checkbox to show/hide corresponding column (card)

- no - - yes - - - - suspicious yes + no - - - yes + no - - - @@ -22625,30 +22625,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -22720,9 +22720,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no + yes + yes yes yes yes @@ -22743,7 +22744,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes yes no no @@ -22815,9 +22815,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes no no - yes no no + yes + yes yes no no @@ -22838,7 +22839,6 @@

Click on each checkbox to show/hide corresponding column (card)

no no no - yes no no no @@ -22910,30 +22910,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -23005,9 +23005,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no - + yes + yes - yes yes @@ -23028,7 +23029,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes - yes - yes yes - yes @@ -23100,9 +23100,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - yes no - + yes + yes - yes yes @@ -23123,7 +23124,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes - yes - yes yes - no @@ -23195,9 +23195,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no - + no + no - yes yes @@ -23218,7 +23219,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes - yes - no yes - no @@ -23290,9 +23290,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no - + no + no - yes yes @@ -23313,7 +23314,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes - yes - no yes - no @@ -23385,9 +23385,10 @@

Click on each checkbox to show/hide corresponding column (card)

yes yes yes - no no - + no + no - yes yes @@ -23408,7 +23409,6 @@

Click on each checkbox to show/hide corresponding column (card)

yes - yes - no yes - no @@ -23480,30 +23480,30 @@

Click on each checkbox to show/hide corresponding column (card)

c49 c50 c51 - c52 - c53 - c54 - c55 - c56 - c57 - c58 - c59 - c60 - c61 - c62 - c63 - c64 - c65 - c66 - c67 - c68 - c69 - c70 - c71 - c72 - c73 - c74 - c75 + c52 + c53 + c54 + c55 + c56 + c57 + c58 + c59 + c60 + c61 + c62 + c63 + c64 + c65 + c66 + c67 + c68 + c69 + c70 + c71 + c72 + c73 + c74 + c75 c76 c77 c78 @@ -23578,6 +23578,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -23599,7 +23600,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -23673,6 +23673,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -23694,7 +23695,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -23768,6 +23768,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - yes @@ -23789,7 +23790,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -23863,6 +23863,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -23884,7 +23885,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -23958,6 +23958,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -23979,7 +23980,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -24053,6 +24053,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -24074,7 +24075,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -24148,6 +24148,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -24169,7 +24170,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -24243,6 +24243,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -24264,7 +24265,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -24338,6 +24338,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -24359,7 +24360,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -24433,6 +24433,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -24454,7 +24455,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -24528,6 +24528,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - yes @@ -24549,7 +24550,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -24623,6 +24623,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -24644,7 +24645,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -24718,6 +24718,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -24739,7 +24740,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -24813,6 +24813,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -24834,7 +24835,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -24908,6 +24908,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -24929,7 +24930,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -25003,6 +25003,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -25024,7 +25025,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -25098,6 +25098,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -25119,7 +25120,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -25193,6 +25193,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -25214,7 +25215,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -25288,6 +25288,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -25309,7 +25310,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -25383,6 +25383,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -25404,7 +25405,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -25478,6 +25478,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - yes @@ -25499,7 +25500,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - yes - yes @@ -25573,6 +25573,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -25594,7 +25595,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -25668,6 +25668,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -25689,7 +25690,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -25763,6 +25763,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -25784,7 +25785,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -25858,6 +25858,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -25879,7 +25880,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -25953,6 +25953,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -25974,7 +25975,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -26048,6 +26048,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -26069,7 +26070,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -26143,6 +26143,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -26164,7 +26165,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -26238,6 +26238,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - suspicious yes - no @@ -26259,7 +26260,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26333,6 +26333,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -26354,7 +26355,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26428,6 +26428,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -26449,7 +26450,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26523,6 +26523,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -26544,7 +26545,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26618,6 +26618,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -26639,7 +26640,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26713,6 +26713,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -26734,7 +26735,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26808,6 +26808,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -26829,7 +26830,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26903,6 +26903,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -26924,7 +26925,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -26998,6 +26998,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -27019,7 +27020,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -27093,6 +27093,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -27114,7 +27115,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no @@ -27188,6 +27188,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - yes - no @@ -27209,7 +27210,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - yes @@ -27283,6 +27283,7 @@

Click on each checkbox to show/hide corresponding column (card)

- - - + - no - no @@ -27304,7 +27305,6 @@

Click on each checkbox to show/hide corresponding column (card)

- - - - - no - no diff --git a/Profiles/AlgTest_html_table_20190419.html b/Profiles/AlgTest_html_table_20190419.html new file mode 100644 index 00000000..04bf4f5a --- /dev/null +++ b/Profiles/AlgTest_html_table_20190419.html @@ -0,0 +1,27330 @@ + + + + + +JavaCard support test + + +\n\n"; + +
+

Tested cards abbreviations

+c0 ACS ACOSJ (Combi) , ATR=3b 69 00 02 41 43 4f 53 4a 76 31 30 31 (provided by Alexandre Bouvier),
+c1 ACS ACOSJ 40K , ATR=3b 69 00 02 41 43 4f 53 4a 76 31 30 31 (provided by PetrS),
+c2 Athena IDprotect , ATR=3B D5 18 FF 80 91 FE 1F C3 80 73 C8 21 13 08 (provided by Cosmo),
+c3 Athena IDProtect ICFabDate 2015 , ATR=3b d5 18 ff 81 91 fe 1f c3 80 73 c8 21 13 09 (provided by PetrS),
+c4 Axalto Cyberflex32 , ATR=3B 75 94 00 00 62 02 02 02 01 (provided by PetrS),
+c5 Axalto Cyberflex PalmeraV5 , ATR=3B E6 00 00 81 21 45 32 4B 01 01 01 01 7A (provided by PetrS),
+c6 COSMO FLY v5.8 ICFabDate 2006 253 , ATR=3b 8b 80 01 00 31 c0 64 08 44 03 04 00 90 00 44 (provided by Kevin Osborn),
+c7 Credentsys Lite , ATR=3b df 95 ff 80 91 fe 1f c3 80 25 a0 00 00 00 68 53 19 00 01 73 c8 21 13 29 (provided by Kate Gray),
+c8 Feitian-FTJCOS ICFabDate 2018 , ATR=3b fc 18 00 00 81 31 80 45 90 67 46 4a 01 00 87 06 00 00 00 00 ea (provided by Toporin),
+c9 Feitian A40CR ICFabDate 2018 , ATR=3b 9c 95 80 81 1f 03 90 67 46 4a 01 00 41 06 f2 72 7e 00 57,
+c10 Feitian A40 ICFabDate 2018 , ATR=3b 9f 95 81 31 fe 9f 00 66 46 53 05 10 00 ff 71 df 00 00 00 00 00 ec (provided by Radboud University),
+c11 Feitian C21C Samsung S3FS91J , ATR=3b fc 18 00 00 81 31 80 45 90 67 46 4a 01 00 05 24 c0 72 7e 00 86 (provided by Thotheolh Tay),
+c12 Feitian eJava Token , ATR=3b fc 18 00 00 81 31 80 45 90 67 46 4a 01 64 2f 70 c1 72 fe e0 fd (provided by Razvan Dragomirescu),
+c13 Feitian JavaCOS A22CR-ECC-SHA-2 ICFabDate 2015 , ATR=3b fc 18 00 00 81 31 80 45 90 67 46 4a 01 00 10 04 f2 72 fe 00 01 (provided by Kenneth Benson),
+c14 Feitian JavaCOS A22CR ICFabDate 2016 084 , ATR=3b 8c 80 01 90 67 46 4a 01 00 25 04 00 00 00 00 d6 (provided by Josh Harvey),
+c15 Feitian JavaCOS A22CR ICFabDate 2016 257 , ATR=3b 9c 95 80 81 1f 03 90 67 46 4a 01 00 35 04 f2 72 fe 00 a1 (provided by PetrS),
+c16 Feitian JavaCOS A22 ICFabDate 2015 , ATR=3b fc 18 00 00 81 31 80 45 90 67 46 4a 00 68 08 04 00 00 00 00 0e (provided by Ivo Kubjas and PetrS),
+c17 Feitian JavaCOS A40 ICFabDate 2016 201 , ATR=3b fc 18 00 00 81 31 80 45 90 67 46 4a 01 00 20 05 00 00 00 00 4e (provided by PetrS and Keneth Benson),
+c18 Feitian Java Card D11CR , ATR=3b 6a 00 00 09 44 31 31 43 52 02 00 25 c3 (provided by PetrS),
+c19 Feitian K9 NXPJ3E081 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by Thotheolh Tay),
+c20 G+D Smartcafe 6.0 80K ICFabDate 2015 024 , ATR=3b fe 18 00 00 80 31 fe 45 53 43 45 36 30 2d 43 44 30 38 31 2d 6e 46 a9 (provided by PetrS),
+c21 G+D SmartCafe 7.0 215K USB Token S , ATR=3b f9 96 00 00 81 31 fe 45 53 43 45 37 20 0e 00 20 20 28 (provided by PetrS),
+c22 G+D Smartcafe 7.0 , ATR=3b f9 96 00 00 80 31 fe 45 53 43 45 37 20 00 00 20 20 27 (provided by Radboud University),
+c23 G+D SmartCafe Expert 144k Dual , ATR=3b fd 18 00 00 80 31 fe 45 73 66 74 65 20 63 64 31 34 34 2d 6e 66 d8 (provided by Diego NdK),
+c24 G+D Smartcafe Expert 3.2 72K ICFabDate 2003 126 , ATR=3b f7 18 00 00 80 31 fe 45 73 66 74 65 2d 6e 66 c4 (provided by Cosmo and PetrS),
+c25 G+D Smart Cafe Expert 4.x V2 ICFabDate 2007 079 , ATR=3b f8 18 00 00 80 31 fe 45 00 73 c8 40 13 00 90 00 92 (provided by PetrS), PerformanceGraphs
+c26 G+D StarSign Crypto USB token S , ATR=3b f0 96 00 00 81 31 fe 45 6d (provided by Luka Logar),
+c27 Gemalto IDCore 10 , ATR=3b 7d 96 00 00 80 31 80 65 b0 83 11 d0 a9 83 00 90 00 (provided by Martin Paljak),
+c28 Gemalto IDCore 3010 CC , ATR=3b 7d 96 00 00 80 31 80 65 b0 85 02 00 cf 83 01 90 00 (provided by Martin Paljak),
+c29 Gemalto TOP IM GXP4 , ATR=3b 7d 94 00 00 80 31 80 65 b0 83 11 d0 a9 83 00 90 00 (provided by PetrS),
+c30 Gemalto TwinGCX4 72k PK , ATR=3B 7A 94 00 00 80 65 A2 01 01 01 3D 72 D6 43 (provided by PetrS),
+c31 Gemplus GXPE64PK , ATR=3B 7E 94 00 00 80 25 A0 00 00 00 28 56 80 10 21 00 01 08 (provided by PetrS),
+c32 Gemplus GXPLiteGeneric , ATR=3B 7D 94 00 00 80 31 80 65 B0 83 01 02 90 83 00 90 00 (provided by PetrS),
+c33 Gemplus GXPR3r32 , ATR=3B 7D 94 00 00 80 31 80 65 B0 83 01 02 90 83 00 90 00 (provided by PetrS),
+c34 Gemplus GXPR3 , ATR=3B 7B 94 00 00 80 65 B0 83 01 01 74 83 00 90 00 (provided by PetrS),
+c35 Gemplus GXP R4 72K ICFabDate 2007 291 , ATR=3b 7d 94 00 00 80 31 80 65 b0 83 11 c0 a9 83 00 90 00 (provided by PetrS), PerformanceGraphs
+c36 Gemplus unknown jc2.1.2 ICFabDate 2006 005 , ATR=3b 7d 94 00 00 80 31 80 65 b0 83 11 11 ac 83 00 90 00 (provided by PetrS),
+c37 Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4 ICFabDate 2012 001 , ATR=3b fe 18 00 00 80 31 fe 45 80 31 80 66 40 90 a5 10 2e 10 83 01 90 00 f2 (provided by PetrS), PerformanceGraphs
+c38 Infineon JTOPV2 16K , ATR=3B 6D 00 00 80 31 80 65 40 90 86 01 51 83 07 90 00 (provided by PetrS),
+c39 Infineon jTOP ID SLJ 52GCA150CL ICFabDate 2015 , ATR=3b fe 18 00 00 80 31 fe 45 80 31 80 66 40 90 a5 10 2e 10 83 07 90 00 f4 (provided by Luka Logar),
+c40 Infineon SLE78 Universal JCard , ATR=3b fd 96 00 00 81 31 fe 45 53 4c 4a 35 32 47 44 4c 31 32 38 43 52 57 (provided by Till Maas RedTeamPentesting and PetrS),
+c41 Infineon SLJ52GCA150 ICFabDate 2015 , ATR=3b fe 18 00 00 80 31 fe 45 80 31 80 66 40 90 a5 10 2e 10 83 01 90 00 f2 (provided by Toporin),
+c42 JavaCardOS Infineon JC30M48CR , ATR=3b 80 80 01 01 (provided by JavaCardOS and Thotheolh Tay),
+c43 JavaCardOS JC10M24R , ATR=3b 80 80 01 01 (provided by JavaCardOS),
+c44 jCardSim-2.2.1-all , ATR=3B FA 18 00 00 81 31 FE 45 4A 43 4F 50 33 31 56 32 33 32 98 (provided by PetrS),
+c45 jCardSim-2.2.2-all , ATR=3B FA 18 00 00 81 31 FE 45 4A 43 4F 50 33 31 56 32 33 32 98 (provided by PetrS),
+c46 jCardSim-3.0.4-SNAPSHOT , ATR=3B FA 18 00 00 81 31 FE 45 4A 43 4F 50 33 31 56 32 33 32 98 (provided by PetrS),
+c47 jCardSim-3.0.5-SNAPSHOT , ATR=3B FA 18 00 00 81 31 FE 45 4A 43 4F 50 33 31 56 32 33 32 98 (provided by PetrS),
+c48 Nokia 6131 , ATR=3B 88 80 01 00 73 C8 40 13 00 90 00 71 (provided by Hakan Karahan),
+c49 NXP JCOP J2A080 80K ICFabDate 2011 070 , ATR=3b f8 18 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 bc (provided by PetrS),
+c50 NXP J2E145G ICFabDate 2013 025 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by PetrS and Lukas Malina),
+c51 NXP J3A080 ICFabDate 2011 035 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS),
+c52 NXP JCOP10 (DES only version) , ATR=3b e9 00 00 81 31 fe 45 4a 43 4f 50 31 30 56 32 32 a3 (provided by Henrik),
+c53 NXP JCOP31 , ATR=3B EB 00 00 81 31 20 45 4A 43 4F 50 33 31 33 36 47 44 54 78 (provided by PetrS),
+c54 NXP JCOP3 J3H081 EMV ICFabDate 2016 355 , ATR=3b f8 18 00 00 81 31 fe 45 00 73 c8 40 00 00 90 00 80 (provided by Adam Zhang and Richard Mitev),
+c55 NXP JCOP3 J3H081 EMV ICFabDate 2018 , ATR=3b fa 18 00 00 81 31 fe 45 50 56 4a 43 4f 50 33 45 4d 56 94 (provided by Rowland Watkins and PetrS),
+c56 NXP JCOP3 J3H145 SECID P60 , ATR=3b 11 95 80 (provided by Luka Logar and Rowland Watkins and PetrS),
+c57 NXP JCOP41 v2.3.1 ICFabDate 2008 , ATR=3b fa 18 00 ff 81 31 fe 45 4a 43 4f 50 34 31 56 32 33 31 63 (provided by Radboud University),
+c58 NXP JCOP41 v221 , ATR=3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d (provided by PetrS), PerformanceGraphs
+c59 NXP JCOP 10.18 v2.3.1 ICFabDate 2008 163 , ATR=3b fa 13 00 00 81 31 fe 45 4a 43 4f 50 31 30 56 32 33 31 93 (provided by PetrS),
+c60 NXP JCOP 21 v2.4.2R3 ICFabDate 2013 025 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by PetrS), PerformanceGraphs
+c61 NXP JCOP 21 V2.2 36K ICFabDate 2008 015 , ATR=3b f9 18 00 00 81 31 fe 45 4a 43 4f 50 32 31 56 32 32 a9 (provided by PetrS), PerformanceGraphs
+c62 NXP JCOP 31 V2.2 36K ICFabDate 2006 306 , ATR=3b eb 00 00 81 31 20 45 4a 43 4f 50 33 31 33 36 47 44 54 78 (provided by PetrS), PerformanceGraphs
+c63 NXP JCOP 31 V2.3.2 ICFabDate 2011 016 , ATR=3b 8a 80 01 4a 43 4f 50 33 31 56 32 33 32 7a (provided by Martin Omacka),
+c64 NXP JCOP 31 V2.4.1 72K ICFabDate 2012 240 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS), PerformanceGraphs
+c65 NXP JCOP CJ2A081 JC222 ICFabDate 2012 240 , ATR=3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 (provided by PetrS), PerformanceGraphs
+c66 NXP JCOP CJ3A080v241 , ATR=3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 31 B7 (provided by Lazuardi Nasution), PerformanceGraphs
+c67 NXP JCOP CJ3A081 JC222 , ATR=3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 (provided by PetrS), PerformanceGraphs
+c68 NXP JCOP J2A080 , ATR=3b f6 18 00 ff 81 31 fe 45 4a 32 41 30 38 30 1b (provided by Pierre-d), PerformanceGraphs
+c69 NXP JCOP J2A080 80K ICFabDate 2011 070 , ATR=3b f8 18 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 bc (provided by PetrS),
+c70 NXP JCOP J2A080 ICFabDate 2018 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 01 (provided by Toporin),
+c71 NXP JCOP J2D081 80K ICFabDate 2014 126 , ATR=3b f9 18 00 00 81 31 fe 45 4a 32 44 30 38 31 5f 50 56 b6 (provided by PetrS and Paul Crocker), PerformanceGraphs
+c72 NXP JCOP J2D081 ICFabDate 2017 , ATR=3b f9 18 00 00 81 31 fe 45 4a 32 44 30 38 31 5f 50 56 b6 (provided by Toporin),
+c73 NXP JCOP J3A040 ICFabDate 2010 071 , ATR=3b 88 80 01 4a 43 4f 50 76 32 34 31 5e (provided by Lukas Malina),
+c74 NXP JCOP J3A081 ICFabDate 2013 , ATR=3b f9 18 00 ff 81 31 fe 45 50 56 5f 4a 33 41 30 38 31 4d (provided by Toporin),
+c75 NXP JCOP J3D081 v242r2 ICFabDate 2012 334 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 32 a3 (provided by Martin Paljak and Arnis UT),
+c76 NXP JCOP NXP250A v242r3 , ATR=3b f9 13 00 00 81 31 fe 45 4a 43 4f 50 32 34 32 52 33 a2 (provided by Amir Digar Nemikhandad),
+c77 Oberthur CosmoDual72K , ATR=3B 7B 18 00 00 00 31 C0 64 77 E3 03 00 82 90 00 (provided by PetrS),
+c78 Oberthur Cosmo V7 64K Dual 128K , ATR=3B DB 18 00 80 B1 FE 45 1F 83 00 31 C0 64 C7 FC 10 00 01 90 00 FA (provided by Cosmo),
+c79 Oberthur Cosmo v7 , ATR=3b db 96 00 80 b1 fe 45 1f 83 00 31 c0 64 c3 08 01 00 01 90 00 95 (provided by PetrS),
+c80 Oberthur ID-ONE Cosmo 64 RSA v5.4 ICFabDate 2007 031 , ATR=3b 7b 18 00 00 00 31 c0 64 77 e9 10 00 01 90 00 (provided by PetrS), PerformanceGraphs
+c81 Softlock SLCOS InfineonSLE78 , ATR=3b 8a 80 01 53 4c 43 4f 53 20 54 3d 43 4c 0d (provided by Ahmed Mamdouh),
+c82 Taisys SIMoME VAULT ICFabDate 2016 , ATR=3b 9f 95 80 3f c7 a0 80 31 e0 73 fa 21 10 63 00 00 00 83 f0 90 00 bb (provided by PetrS),
+c83 Unknown , ATR=3b 68 00 00 00 73 c8 40 12 00 90 00 (provided by Amir Digar Nemikhandad),
+c84 Yubikey Neo (Warning not open JavaCard) , ATR=3b fa 13 00 00 81 31 fe 15 59 75 62 69 6b 65 79 4e 45 4f a6 (provided by Pierre-d and Cosmo),
+c85 [undisclosed1] , ATR=3b xx xx xx xx xx xx xx xx xx xx xx xx xx xx (provided by Cosmo),
+c86 [undisclosed2] , ATR=3b xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx (provided by Cosmo),
+c87 [undisclosed3] , ATR=3b xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx (provided by Cosmo),
+c88 [undisclosed4] , ATR=3b xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx (provided by Cosmo),
+c89 [undisclosed5] , ATR=3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (provided by Metro),
+c90 [undisclosed6] , ATR=3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (provided by Metro),
+
+Note: Some cards in the table come without full identification and ATR ('undisclosed') as submitters prefered not to disclose it at the momment. I'm publishing it anyway as the information that some card supporting particular algorithm exists is still interesting. Full identification might be added in future.

+ +Note: If you have card of unknown type, try to obtain ATR and take a look at smartcard list available here: http://smartcard-atr.appspot.com/

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SymbolMeaning
yesThis particular algorithm was tested and IS supported by given card.
noThis particular algorithm was tested and is NOT supported by given card.
suspicious yesThis particular algorithm was tested and is REPORTED as supported by given card. However, given algorithm was introduced in later version of JavaCard specification than version declared by the card as supported one. Mostly, algorithm is really supported. But it might be possible, that given algorithm is NOT actually supported by card as some cards may create object for requested algorithm and fail only later when object is actually used. Future version of the JCAlgTest will make more thorough tests regarding this behaviour.
error(ERROR_CODE)Card returned specific error other then raising CryptoException.NO_SUCH_ALGORITHM. Most probably, algorithm is NOT supported by given card.
?Card returned unspecific error. Most probably, algorithm is NOT supported by given card.
-This particular algorithm was NOT tested. Usually, this equals to unsupported algorithm. Typical example is the addition of new constants introduced by the newer version of JavaCard standard, which are not supported by cards tested before apperance of of new version of specification. The exceptions to this rule are classes that have to be tested manually (at the moment, following information: JavaCard support version, javacardx.apdu.ExtendedLength Extended APDU) where not tested doesn't automatically means not supported. Automated upload and testing of these features will solve this in future.
+

+

Click on each checkbox to show/hide corresponding column (card)

+
+
+

c0 - ACS ACOSJ (Combi)

+

c1 - ACS ACOSJ 40K

+

c2 - Athena IDprotect

+

c3 - Athena IDProtect ICFabDate 2015

+

c4 - Axalto Cyberflex32

+

c5 - Axalto Cyberflex PalmeraV5

+

c6 - COSMO FLY v5.8 ICFabDate 2006 253

+

c7 - Credentsys Lite

+

c8 - Feitian-FTJCOS ICFabDate 2018

+

c9 - Feitian A40CR ICFabDate 2018

+

c10 - Feitian A40 ICFabDate 2018

+

c11 - Feitian C21C Samsung S3FS91J

+

c12 - Feitian eJava Token

+

c13 - Feitian JavaCOS A22CR-ECC-SHA-2 ICFabDate 2015

+

c14 - Feitian JavaCOS A22CR ICFabDate 2016 084

+

c15 - Feitian JavaCOS A22CR ICFabDate 2016 257

+

c16 - Feitian JavaCOS A22 ICFabDate 2015

+

c17 - Feitian JavaCOS A40 ICFabDate 2016 201

+

c18 - Feitian Java Card D11CR

+

c19 - Feitian K9 NXPJ3E081

+

c20 - G+D Smartcafe 6.0 80K ICFabDate 2015 024

+

c21 - G+D SmartCafe 7.0 215K USB Token S

+

c22 - G+D Smartcafe 7.0

+

c23 - G+D SmartCafe Expert 144k Dual

+

c24 - G+D Smartcafe Expert 3.2 72K ICFabDate 2003 126

+

c25 - G+D Smart Cafe Expert 4.x V2 ICFabDate 2007 079

+

c26 - G+D StarSign Crypto USB token S

+

c27 - Gemalto IDCore 10

+

c28 - Gemalto IDCore 3010 CC

+

c29 - Gemalto TOP IM GXP4

+

c30 - Gemalto TwinGCX4 72k PK

+
+
+

c31 - Gemplus GXPE64PK

+

c32 - Gemplus GXPLiteGeneric

+

c33 - Gemplus GXPR3r32

+

c34 - Gemplus GXPR3

+

c35 - Gemplus GXP R4 72K ICFabDate 2007 291

+

c36 - Gemplus unknown jc2.1.2 ICFabDate 2006 005

+

c37 - Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4 ICFabDate 2012 001

+

c38 - Infineon JTOPV2 16K

+

c39 - Infineon jTOP ID SLJ 52GCA150CL ICFabDate 2015

+

c40 - Infineon SLE78 Universal JCard

+

c41 - Infineon SLJ52GCA150 ICFabDate 2015

+

c42 - JavaCardOS Infineon JC30M48CR

+

c43 - JavaCardOS JC10M24R

+

c44 - jCardSim-2.2.1-all

+

c45 - jCardSim-2.2.2-all

+

c46 - jCardSim-3.0.4-SNAPSHOT

+

c47 - jCardSim-3.0.5-SNAPSHOT

+

c48 - Nokia 6131

+

c49 - NXP JCOP J2A080 80K ICFabDate 2011 070

+

c50 - NXP J2E145G ICFabDate 2013 025

+

c51 - NXP J3A080 ICFabDate 2011 035

+

c52 - NXP JCOP10 (DES only version)

+

c53 - NXP JCOP31

+

c54 - NXP JCOP3 J3H081 EMV ICFabDate 2016 355

+

c55 - NXP JCOP3 J3H081 EMV ICFabDate 2018

+

c56 - NXP JCOP3 J3H145 SECID P60

+

c57 - NXP JCOP41 v2.3.1 ICFabDate 2008

+

c58 - NXP JCOP41 v221

+

c59 - NXP JCOP 10.18 v2.3.1 ICFabDate 2008 163

+

c60 - NXP JCOP 21 v2.4.2R3 ICFabDate 2013 025

+

c61 - NXP JCOP 21 V2.2 36K ICFabDate 2008 015

+
+
+

c62 - NXP JCOP 31 V2.2 36K ICFabDate 2006 306

+

c63 - NXP JCOP 31 V2.3.2 ICFabDate 2011 016

+

c64 - NXP JCOP 31 V2.4.1 72K ICFabDate 2012 240

+

c65 - NXP JCOP CJ2A081 JC222 ICFabDate 2012 240

+

c66 - NXP JCOP CJ3A080v241

+

c67 - NXP JCOP CJ3A081 JC222

+

c68 - NXP JCOP J2A080

+

c69 - NXP JCOP J2A080 80K ICFabDate 2011 070

+

c70 - NXP JCOP J2A080 ICFabDate 2018

+

c71 - NXP JCOP J2D081 80K ICFabDate 2014 126

+

c72 - NXP JCOP J2D081 ICFabDate 2017

+

c73 - NXP JCOP J3A040 ICFabDate 2010 071

+

c74 - NXP JCOP J3A081 ICFabDate 2013

+

c75 - NXP JCOP J3D081 v242r2 ICFabDate 2012 334

+

c76 - NXP JCOP NXP250A v242r3

+

c77 - Oberthur CosmoDual72K

+

c78 - Oberthur Cosmo V7 64K Dual 128K

+

c79 - Oberthur Cosmo v7

+

c80 - Oberthur ID-ONE Cosmo 64 RSA v5.4 ICFabDate 2007 031

+

c81 - Softlock SLCOS InfineonSLE78

+

c82 - Taisys SIMoME VAULT ICFabDate 2016

+

c83 - Unknown

+

c84 - Yubikey Neo (Warning not open JavaCard)

+

c85 - [undisclosed1]

+

c86 - [undisclosed2]

+

c87 - [undisclosed3]

+

c88 - [undisclosed4]

+

c89 - [undisclosed5]

+

c90 - [undisclosed6]

+
+
+
+ + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Basic infointroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
AlgTest applet version1.7.11.7.51.21.7.70.10.11.7.01.7.11.7.61.7.51.7.51.6.01.6.01.6.01.6.01.7.71.7.71.7.01.6.01.7.01.7.71.7.71.7.50.11.6.01.6.01.7.51.21.21.11.10.11.11.11.1errorerror1.7.71.11.7.51.7.71.7.61.6.01.6.01.7.51.7.51.7.51.7.50.11.6.01.7.11.7.71.11.21.7.71.7.01.7.71.7.11.11.7.01.7.71.6.01.6.01.6.01.7.71.7.01.21.7.71.11.7.01.7.61.7.01.7.61.7.11.7.61.6.01.31.11.21.7.71.7.01.6.01.7.7error1.11.21.21.21.21.6.0error
JavaCard support version-3.0.42.2.22.2.22.1.22.1.2---3.0.4-3.0.4-3.0.43.0.43.0.43.0.43.0.42.2.2-3.0.13.0.43.0.42.2.12.2.22.2.23.0.42.2.12.2.22.2.12.2.12.1.22.1.22.1.22.1.22.2.12.1.23.0.42.1.2-3.0.1-3.0.43.0.42.2.12.2.23.0.43.0.52.2.02.2.23.0.12.2.2-2.2.1--3.0.4-2.2.12.2.13.0.12.2.12.2.1-2.2.22.2.22.2.12.2.2-2.2.2-3.0.1----3.0.22.2.1-2.2.22.2.1--------2.2.22.2.1
javacard.framework.JCSystemintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
JCSystem.getVersion()[Major.Minor]≤2.13.03.02.22.2--2.22.23.03.03.03.02.23.03.03.03.03.02.23.03.03.03.02.22.22.23.02.22.2--------3.0-3.03.03.03.03.02.22.23.03.0-2.23.02.22. 2-3.03.03.02.22.22.23.02.22.22.22.22.22.22.22.22.22.23.03.02.22.23.03.0-2.22.22.23.43.02.23.02.23.02.22.23.03.0
JCSystem.isObjectDeletionSupported2.2.0yesyesyesyes--yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes--------yes-yesyesyesyesyesnononono-noyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyes
JCSystem.MEMORY_TYPE_PERSISTENT2.2.120340B19961B>32767B>32767B--10336B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B16406B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B-------->32767B->32767B>32767B>32767B>32767B6380B>32767B>32767B>32767B>32767B--1B23776B>32767B5752B-32140B20052B>32767B>32767B>32767B11168B>32767B23432B30224B29480B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B4064B>32767B>32767B>32767B->32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B>32767B
JCSystem.MEMORY_TYPE_TRANSIENT_RESET2.2.11154B1154B4878B4157B--1818B1545B1761B1549B1697B3940B1337B1051B1071B1373B2795B1765B1236B3107B2808B6194B2019B2040B2040B2728B6194B5098B1799B--------2119B-3031B2228B1671B997B2471B-31641B-31641B-31641B-31641B--1B2573B2140B1087B-1462B977B2792B1906B1975B1062B3277B1982B1983B1974B3480B3480B2208B3477B2336B2336B1944B3279B3272B2267B3480B1875B3069B-1458B1436B758B13347B12252B1679B2915B1454B1903B1724B3480B12891B9390B
JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT2.2.13624B3624B4878B32767B--767B--384B384B1024B512B2795B512B512B512B384B9984B512B755B755B755B2335B819B819B755B5098B2023B--------1152B-1152B1022B-384B512B32767B32767B32767B32767B--1B512B512B1087B-1960B1960B32767B512B1975B512B512B512B512B512B512B512B2208B3477B2336B512B-512B-512B-512B3069B-1458B570B511B2037B-800B2915B1750B1903B1724B3480B32767B29440B
JCSystem.getMaxCommitCapacity()2.13624B3624B-32767B--767B482B384B384B384B1024B512B2795B512B512B512B384B9984B512B755B755B755B-819B819B755B----------1152B-1152B1022B1152B384B-32767B32767B32767B32767B--1B512B512B----32767B512B-512B512B512B512B512B512B512B---512B512B512B512B512B512B512B---570B511B2037B16128B------32767B29440B
javacardx.apdu.ExtendedLengthintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
Extended APDU2.2.2----nono-----------------no-----nononononono---no---------no---nono----no-------noyes---------no-------------
javacardx.crypto.Cipherintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_DES_CBC_NOPAD≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_CBC_ISO9797_M1≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_CBC_ISO9797_M2≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_CBC_PKCS5≤2.1yesyesnonononononoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesnoyesnononononononononononoyesnoyesyesyesyesyesyesyesyesnoyesnonononononononononononoyesyesyesyesyesyesyesnonoyesyesnonononononoyesyesnonoyesnonoyesyesyes
ALG_DES_ECB_NOPAD≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_ECB_ISO9797_M1≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_ECB_ISO9797_M2≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_ECB_PKCS5≤2.1yesyesnonononononoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesnoyesnononononononononononoyesnoyesyesyesyesyesyesyesnonononononononononononononononononononononononononononononononoyesyesnonoyesnononoyesyes
ALG_RSA_ISO14888≤2.1nonononononononononononononononononononoyesnonoyesyesyesnonononononononononononononononononononononoyesnonononononononononononononononononononononononononononononononononononoyesnonononoyes
ALG_RSA_PKCS1≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_RSA_ISO9796≤2.1nononononononononononononononononononononononononononononononononononononoyesyesyesnoyesnonononononoyesnononononononononononononononononononononononononononononononononononononoyesyesnonono
ALG_RSA_NOPAD2.1.1yesyesyesyesyesyesyesyesyesSystemException_NO_TRANSIENT_SPACEyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_AES_BLOCK_128_CBC_NOPAD2.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesnoyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
ALG_AES_BLOCK_128_ECB_NOPAD2.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesnoyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
ALG_RSA_PKCS1_OAEP2.2.0nonononononoyesnononononononononononononoyesyesyesyesyesyesyesnoyesnononononononononononononononononononononononononoyesyesyesnonononononononononononononononononononoyesyesyesyesyesyesnonoyesnononoyesno
ALG_KOREAN_SEED_ECB_NOPAD2.2.2yesyesyesyesnononononononoyesyesyesyesyesyesnonoyesyesnonononononononononononononononononononononononononononoyesyesyesnonoyesyesnonononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesnonononononononoyesyesnoyesyesnono
ALG_KOREAN_SEED_CBC_NOPAD2.2.2yesyesyesyesnononononononoyesyesyesyesyesyesnonoyesyesnonononononononononononononononononononononononononononoyesyesyesnonoyesyesnonononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesnonononononononoyesyesnoyesyesnono
ALG_AES_BLOCK_192_CBC_NOPAD3.0.1nononono--nonononononononononononononononono-nonononono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
ALG_AES_BLOCK_192_ECB_NOPAD3.0.1nononono--nonononononononononononononononono-nonononono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
ALG_AES_BLOCK_256_CBC_NOPAD3.0.1nononono--nonononononononononononononononono-nonononono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
ALG_AES_BLOCK_256_ECB_NOPAD3.0.1nononono--nonononononononononononononononono-nonononono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
ALG_AES_CBC_ISO9797_M13.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnonoyesyesyes-nonoyesnono------nonono-noyesnoyesyesnononono-nonono--yesyesyesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_AES_CBC_ISO9797_M23.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnonoyesyesyes-nonoyesnono------nonono-noyesnoyesyesnononoyes-nonono--yesyesyesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_AES_CBC_PKCS53.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnonoyesyesyes-nonoyesnono------nonono-noyesnoyesyesnononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_AES_ECB_ISO9797_M13.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnonoyesyesyes-nonoyesnono------nonono-noyesnoyesyesnononono-nonono--yesyesyesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_AES_ECB_ISO9797_M23.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnonoyesyesyes-nonoyesnono------nonono-noyesnoyesyesnononono-nonono--yesyesyesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_AES_ECB_PKCS53.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnonoyesyesyes-nonoyesnono------nonono-noyesnoyesyesnononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
javacard.crypto.Signatureintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_DES_MAC4_NOPAD≤2.1yesyesnononoyesyesnoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesnonononononononononononononononononononononononononononoyesyesyesyesyesyesnonoyesyesyesnoyesyes
ALG_DES_MAC8_NOPAD≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_MAC4_ISO9797_M1≤2.1yesyesnononoyesyesnoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesnoyesyesyesyesyesyesyesyesyesyesnonononononononononononononononononononononononononononoyesyesyesyesyesyesnonoyesyesyesnoyesyes
ALG_DES_MAC8_ISO9797_M1≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_MAC4_ISO9797_M2≤2.1yesyesnononoyesyesnoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesnoyesyesyesyesyesyesyesyesyesyesnononononoyesyesyesnonononononononononononononononononononoyesyesyesyesyesyesnonoyesyesyesnoyesyes
ALG_DES_MAC8_ISO9797_M2≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_DES_MAC4_PKCS5≤2.1yesyesnonononononoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesnoyesnononononononononononononoyesyesyesyesyesyesyesnonononononononononononononononononononononononononononononononoyesyesnonoyesnononoyesyes
ALG_DES_MAC8_PKCS5≤2.1yesyesnonononononoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesnoyesnononononononononononoyesnoyesyesyesyesyesyesyesnonononononononononononononononononononononononononononononononoyesyesnonoyesnononoyesyes
ALG_RSA_SHA_ISO9796≤2.1nonoyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesSystemException(NO_TRANSIENT_SPACE)yesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyes
ALG_RSA_SHA_PKCS1≤2.1nonoyesyesyesyesyesyesyesSystemException_NO_TRANSIENT_SPACEyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesSystemException(NO_TRANSIENT_SPACE)6f00yesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_RSA_MD5_PKCS1≤2.1nonononoyesyesnonoyesSystemException_NO_TRANSIENT_SPACEyesyesyesyesyesyesyesyesyesyesyesnonoyesyesyesnoyesnoyesyesyesyesyesnoyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesnoyesnononoyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyesnoyesyesyesyesyesyesyes
ALG_RSA_RIPEMD160_ISO9796≤2.1nonononononononononononononononononononoyesnonoyesyesyesnonononononononononononononononononoyesyesyesyesyesnononononononononononononononononononononononononononononononononoyesnonoyesnoyesnonono
ALG_RSA_RIPEMD160_PKCS1≤2.1nonononononononononononononononononononoyesnonoyesyesyesnonononononononononononononononononoyesyesyesyesyesnononononononononononononononononononononononononononononononononoyesnonoyesnoyesnonono
ALG_DSA_SHA≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononononononononononononononononononononononononononononononononononononononononononononononoyesnononoyesnonononono
ALG_RSA_SHA_RFC2409≤2.1nonononononononononononononononononononoyesyesyesyesyesyesyesnononononononononononononononononononononoyesnononononononononononononononononononononononononononononononononoyesnonoyesnononoyesyes
ALG_RSA_MD5_RFC2409≤2.1nonononononononononononononononononononoyesnonoyesyesyesnonononononononononononononononononononononoyesnononononononononononononononononononononononononononononononononoyesnonoyesnononoyesyes
ALG_ECDSA_SHA2.2.0yesyesnoyesnonononononononoyesyesyesyesnonoyesyesyesyesyesnononoyesnoyesnonononononononoyesnoyesyesyesyesnoyesyesyesyesnoyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnoyesyesyesyesyesyesno
ALG_AES_MAC_128_NOPAD2.2.0nonoyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesnoyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
ALG_DES_MAC4_ISO9797_1_M2_ALG32.2.0yesyesnonononoyesnoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyesnoyesnoyesyesyesnonononoyesnononononoyesyesyesnonononononononononononononononononononoyesyesyesyesyesyesnonoyesyesyesnoyesyes
ALG_DES_MAC8_ISO9797_1_M2_ALG32.2.0yesyesnoyesnonoyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_RSA_SHA_PKCS1_PSS2.2.0nononoyesnononononononononononononononoyesnoyesyesnononoyesnoyesnononononononononononoyesnononononononononoyesnononoSystemException(NO_TRANSIENT_SPACE)yesyesnononoyesnonononononononononoyesyesnonoyesyesyesyesyesyesyesyesnoyesnonononoyesyes
ALG_RSA_MD5_PKCS1_PSS2.2.0nononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononoyesnonononoyesnonononononoyesyes
ALG_RSA_RIPEMD160_PKCS1_PSS2.2.0nonononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononoyesnononononononono
ALG_HMAC_SHA12.2.2nononononononononononononononononononononononononononononononononononononononononononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
ALG_HMAC_SHA_2562.2.2nononononononononononononononononononononononononononononononononononononononononononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
ALG_HMAC_SHA_3842.2.2nononononononononononononononononononononononononononononononononononononononononononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
ALG_HMAC_SHA_5122.2.2nononononononononononononononononononononononononononononononononononononononononononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
ALG_HMAC_MD52.2.2nononononononononononononononononononononononononononononononononononononononononononononoyesyesyesnonononononononononononononononononononononononononononononononononoyesnonononononoyesyes
ALG_HMAC_RIPEMD1602.2.2nononononononononononononononononononononononononononononononononononononononononononononoyesyesyesnonononononononononononononononononononononononononononononononononoyesnononononononono
ALG_RSA_SHA_ISO9796_MR2.2.2nonononononononoyesyesyesyesyesyesyesyesyesyesnonononononononononononononononononononononoyesnoyesyesnoyesyesyesnonononononoSystemException(NO_TRANSIENT_SPACE)6f00nonononononononononononononononononononononononononoyesnonononononoyesno
ALG_RSA_RIPEMD160_ISO9796_MR2.2.2nonononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononononoyesnononononononono
ALG_SEED_MAC_NOPAD2.2.2nonoyesyesnononononononoyesyesyesyesyesyesnonoyesyesnonononononononononononononononononononononononononononoyesyesyesnonoyesyesnonononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesyesnononononononoyesyesnoyesyesnono
ALG_ECDSA_SHA_2563.0.1yesyesnosuspicious yes--nononononononoyesyesyesnononoyesyesyesyes-nonoyesnosuspicious yes------nonoyes-yesyesyesyesnonononoyes-noyesno--nonoyesno-noyesnonononono-no-nonoyesyesnonoyesyes-nononoyesyesnoyesnoyesnonoyesyes
ALG_ECDSA_SHA_3843.0.1yesyesnono--nononononononoyesyesyesnonononoyesyesyes-nonoyesnosuspicious yes------nonoyes-yesyesyesyesnonononoyes-nonono--nonoyesno-nonononononono-no-nononononononono-nononoyesyesnononoyesnonoyesyes
ALG_AES_MAC_192_NOPAD3.0.1nononono--nonononononononononononononononono-nonononosuspicious yes------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononononononononononoyesno
ALG_AES_MAC_256_NOPAD3.0.1nononono--nonononononononononononononononono-nonononosuspicious yes------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononononononononononoyesno
ALG_ECDSA_SHA_2243.0.1yesyesnosuspicious yes--nonononononononoyesyesnononoyesyesyesyes-nonoyesnono------nonoyes-yesyesyesyesnonononoyes-noyesno--nonoyesno-noyesnonononono-no-nonoyesyesnonoyesyes-nononoyesyesnoyesnoyesnonoyesyes
ALG_ECDSA_SHA_5123.0.1yesyesnono--nononononononoyesyesyesnonononoyesyesyes-nonoyesnosuspicious yes------nonoyes-yesyesyesyesnonononoyes-nonono--nonoyesno-nonononononono-no-nononononononono-nononoyesyesnononoyesnonoyesyes
ALG_RSA_SHA_224_PKCS13.0.1nononono--nonoyesSystemException_NO_TRANSIENT_SPACEyesnonononoyesnonononoyesyesyes-nonoyesnono------nonono-noyesnoyesnonononoyes-nonono--SystemException(NO_TRANSIENT_SPACE)yesyesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_RSA_SHA_256_PKCS13.0.1nononosuspicious yes--nonoyesSystemException_NO_TRANSIENT_SPACEyesnonononoyesnononoyesyesyesyes-nonoyesnono------nonono-noyesnoyesnonononoyes-noyesno--SystemException(NO_TRANSIENT_SPACE)6f00yesno-noyesnonononono-no-nonoyesyesnonoyesyes-nononoyesyesnonononononoyesyes
ALG_RSA_SHA_384_PKCS13.0.1nononono--nonoyesSystemException_NO_TRANSIENT_SPACEyesnonononoyesnonononoyesyesyes-nonoyesnono------nonono-noyesnoyesnonononoyes-nonono--SystemException(NO_TRANSIENT_SPACE)6f00yesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_RSA_SHA_512_PKCS13.0.1nononono--nonoyesSystemException_NO_TRANSIENT_SPACEyesnonononoyesnonononoyesyesyes-nonoyesnono------nonono-noyesnoyesnonononoyes-nonono--SystemException(NO_TRANSIENT_SPACE)6f00yesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_RSA_SHA_224_PKCS1_PSS3.0.1nononono--nononononononononononononoyesnoyesyes-nonoyesnono------nonono-nonononononononono-noyesno--SystemException(NO_TRANSIENT_SPACE)6f00yesno-noyesnonononono-no-nonoyesyesnonoyesyes-nononoyesyesnoyesnonononoyesyes
ALG_RSA_SHA_256_PKCS1_PSS3.0.1nononosuspicious yes--nononononononononononononoyesnoyesyes-nonoyesnono------nonono-noyesnonononononono-noyesno--SystemException(NO_TRANSIENT_SPACE)6f00yesno-noyesnonononono-no-nonoyesyesnonoyesyes-nononoyesyesnoyesnonononoyesyes
ALG_RSA_SHA_384_PKCS1_PSS3.0.1nononono--nononononononononononononononoyesyes-nonoyesnono------nonono-nonononononononono-nonono--SystemException(NO_TRANSIENT_SPACE)6f00yesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_RSA_SHA_512_PKCS1_PSS3.0.1nononono--nononononononononononononononoyesyes-nonoyesnono------nonono-nonononononononono-nonono--SystemException(NO_TRANSIENT_SPACE)6f00yesno-nonononononono-no-nononononononono-nononoyesyesnonononononoyesyes
ALG_DES_MAC4_ISO9797_1_M1_ALG33.0.4yesyesnono--nonoyesyesyesnonononoyesnonononononono-nonononono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnononononononono
ALG_DES_MAC8_ISO9797_1_M1_ALG33.0.4yesyesnono--nonoyesyesyesnonononoyesnonononononono-nonononono------nonono-nonononononononono-nonono--yesyesyesno-nonononononono-no-nononononononono-nononoyesyesnononononononono
ALG_AES_CMAC_1283.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononoyes---no--yesyesnono--no---no--no--no-no-no----no--no--------
javacard.security.MessageDigestintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_SHA≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_MD5≤2.1yesyesnonoyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonoyesyesyesnoyesnoyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesnoyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyesyesyesyesyesyesyesyesyes
ALG_RIPEMD160≤2.1nonononononononononononononononononononoyesnonoyesyesyesnonononononononononononononononononoyesyesyesyesyesnononononononononononononononononononononononononononononononononoyesnonoyesnoyesnonono
ALG_SHA_2562.2.2yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yesyesnoyesnoyesnonononononononoyesnoyesyesyesyesnonoyesyesyesnoyesyesyesnonoyesyesyesnononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesnoyesyesyesyesyesyesyes
ALG_SHA_3842.2.2yesyesnoyesnonononoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesnononoyesnoyesnonononononononoyesnoyesyesyesyesnonoyesyesyesnonononononoSystemException(NO_TRANSIENT_SPACE)yesyesnononononononononononononononononononononoyesyesnoyesyesnononoyesnonoyesyes
ALG_SHA_5122.2.2yesyesnoyesnonononoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesnononoyesnoyesnonononononononoyesnoyesyesyesyesnonoyesyesyesnonononononoSystemException(NO_TRANSIENT_SPACE)yesyesnononononononononononononononononononononoyesyesnoyesyesnononoyesnonoyesyes
ALG_SHA_2243.0.1yesyesnosuspicious yes--nonoyesyesyesnoyesnoyesyesnoyessuspicious yesyesyesyesyes-nonoyesnono------nonoyes-yesyesyesyesnonononono-noyesno--yesyesyesno-noyesnonononono-no-nonoyesyesnonoyesyes-nononoyesyesnoyesnoyesnonoyesyes
ALG_SHA3_2243.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
ALG_SHA3_2563.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
ALG_SHA3_3843.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
ALG_SHA3_5123.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
javacard.security.RandomDataintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_PSEUDO_RANDOM≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_SECURE_RANDOM≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
ALG_TRNG3.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
ALG_ALG_PRESEEDED_DRBG3.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
ALG_FAST3.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
ALG_KEYGENERATION3.0.5-no-no--nonononono----nono---nonono---no----------no-nonono--nononono---no--nononono--no---no--no--no-no-no----no--no--------
javacard.security.KeyBuilderintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
TYPE_DES_TRANSIENT_RESET≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_DES_TRANSIENT_DESELECT≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_DES LENGTH_DES≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_DES LENGTH_DES3_2KEY≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_DES LENGTH_DES3_3KEY≤2.1yesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_AES_TRANSIENT_RESET2.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesnoyesyesyesnonoyesyesyesyesnonoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_AES_TRANSIENT_DESELECT2.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesnoyesyesyesnonoyesyesyesyesnonoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_AES LENGTH_AES_1282.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesnoyesyesyesnonoyesyesyesyesnonoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_AES LENGTH_AES_1922.2.0yesyesyesyesnonoyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesnoyesyesyesnonoyesyesyesyesnonoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesnoyesyesyes
TYPE_AES LENGTH_AES_2562.2.0yesyesyesyesnonoyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesnoyesyesyesnonoyesyesyesyesnonoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesnoyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_512≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_7362.2.0yesyesyesyesnosuspicious yesyesyesnonononononononononoyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesnonoyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_7682.2.0yesyesyesyessuspicious yessuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yessuspicious yessuspicious yessuspicious yesyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_8962.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_1024≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_12802.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yesnononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_15362.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yesnononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_19842.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_2048≤2.1yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PUBLIC LENGTH_RSA_40963.0.1nononononononononononononononononononononoyesyesnononoyesnonononononononononono-noyesnononosuspicious yessuspicious yesyesyesnononono-nonononononononononononononononononononononononononononoyesyesnononononononono
TYPE_RSA_PRIVATE LENGTH_RSA_512≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_7362.2.0yesyesyesyesnosuspicious yesyesyesnonononononononononoyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesnonoyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_7682.2.0yesyesyesyessuspicious yessuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yessuspicious yessuspicious yessuspicious yesyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_8962.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_1024≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_12802.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyessuspicious yesnononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_15362.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyessuspicious yesnononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_19842.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_2048≤2.1yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesnonononoyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_PRIVATE LENGTH_RSA_40963.0.1nononononononononononononononononononononononononononononononononononononono-noyesnononosuspicious yessuspicious yesyesyesnononono-nononononononononononononononononononononononononononononoyesnononononononono
TYPE_RSA_PRIVATE_TRANSIENT_RESET3.0.1yesyesnono--nonoyesyesyesyesnoyesyesyesyesyesnononoyesyes-nonoyesnono------nonoyes-yesyesyesyesyesnononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnononoyesnonoyesyes
TYPE_RSA_PRIVATE_TRANSIENT_DESELECT3.0.1yesyesnono--nonoSystemException_NO_TRANSIENT_SPACESystemException_NO_TRANSIENT_SPACESystemException_NO_TRANSIENT_SPACEyesnoyesyesyesyesyesnononoyesyes-nonoyesnono------nonoyes-yesyesyesyesyesnononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnononoyesnonoyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_512≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_7362.2.0yesyesyesyesnosuspicious yesyesyesnonononononononononoyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesnonoyesyesyesyesyesnoyesnononoyesyesyesnononoyesnonononononononononoyesyesnonoyesyesyesyesyesnoyesyesyesyesyesyesyesnoyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_7682.2.0yesyesyesyessuspicious yessuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yessuspicious yessuspicious yessuspicious yesyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_8962.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_1024≤2.1yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_12802.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yesnononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_15362.2.0yesyesyesyesnosuspicious yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yesnononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_19842.2.0yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyessuspicious yesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_2048≤2.1yesyesyesyesnonoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyes-yesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes
TYPE_RSA_CRT_PRIVATE LENGTH_RSA_40963.0.1nononononononononononononononononononononoyesyesnononoyesnonononononononononono-noyesnononosuspicious yessuspicious yesyesyesnononono-nonononononononononononononononononononononononononononoyesyesnononononononono
TYPE_RSA_CRT_PRIVATE_TRANSIENT_RESET3.0.1yesyesnono--nonoSystemException_NO_TRANSIENT_SPACESystemException_NO_TRANSIENT_SPACESystemException_NO_TRANSIENT_SPACEyesnoyesyesyesyesyesnononoyesyes-nonoyesnono------nonoyes-yesyesyesyesyesnononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnononoyesnonoyesyes
TYPE_RSA_CRT_PRIVATE_TRANSIENT_DESELECT3.0.1yesyesnono--nonoSystemException_NO_TRANSIENT_SPACESystemException_NO_TRANSIENT_SPACESystemException_NO_TRANSIENT_SPACEyesnoerror(0x6f00)error(0x6f00)yesyesyesnononoyesyes-nonoyesnono------nonoyes-yesyesyesyesyesnononono-nonono--nononono-nonononononono-no-nononononononono-nononoyes6f00nononoyesnonoyesyes
TYPE_DSA_PRIVATE LENGTH_DSA_512≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononono-nononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
TYPE_DSA_PRIVATE LENGTH_DSA_768≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononono-nononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
TYPE_DSA_PRIVATE LENGTH_DSA_1024≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononono-nononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
TYPE_DSA_PRIVATE_TRANSIENT_RESET3.0.1nononono--nononononononononononononononoyesno-nonoyesnono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
TYPE_DSA_PRIVATE_TRANSIENT_DESELECT3.0.1nononono--nononononononononononononononoyesno-nonoyesnono------nonono-nonononononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
TYPE_DSA_PUBLIC LENGTH_DSA_512≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononono-nononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
TYPE_DSA_PUBLIC LENGTH_DSA_768≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononono-nononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
TYPE_DSA_PUBLIC LENGTH_DSA_1024≤2.1nonononononononononononononononononononoyesyesnoyesyesnoyesnonononononononononono-nononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
TYPE_EC_F2M_PRIVATE LENGTH_EC_F2M_1132.2.0nononononononononononononoyesyesyesnononononononononononononononononononononono-noyesnononoyesyesyesyesnononononoyesnononoyesyesnonoyesyesyesnononononononononononononononononoyesnonononononononono
TYPE_EC_F2M_PRIVATE LENGTH_EC_F2M_1312.2.0nononononononononononononoyesyesyesnononononononononononononononononononononono-noyesnononoyesyesyesyesnononononoyesnononoyesyesnonoyesyesyesnononononononononononononononononoyesnonononononononono
TYPE_EC_F2M_PRIVATE LENGTH_EC_F2M_1632.2.0nononononononononononononoyesyesyesnononononononononononononononononononononono-noyesnononoyesyesyesyesnononononoyesnononoyesyesnonoyesyesyesnononononononononononononononononoyesnonononononononono
TYPE_EC_F2M_PRIVATE LENGTH_EC_F2M_1932.2.0nononononononononononononoyesyesyesnononononononononononononononononononononono-noyesnononoyesyesyesyesnononononoyesnononoyesyesnonoyesyesyesnononononononononononononononononoyesnonononononononono
TYPE_EC_F2M_PRIVATE_TRANSIENT_RESET3.0.1nononono--nononononononoyesyesyesnonononononono-nonononono------nonono-noyesnonononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
TYPE_EC_F2M_PRIVATE_TRANSIENT_DESELECT3.0.1nononono--nononononononoyesyesyesnonononononono-nonononono------nonono-noyesnonononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesnonononononononono
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_1122.2.0yesyesnononononononononononoyesyesyesnonononoyesyesyesnononoyesnonononononononononono-noyesnononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonoyesnonononoyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_1282.2.0yesyesnononononononononononoyesyesyesnonoyesyesyesyesyesnononoyesnonononononononononono-noyesnononoyesyesyesyesnoyesyesyesnonononononononoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyesyesnoyesyesnonoyesnoyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_1602.2.0yesyesnoyesnononononononononoyesyesyesnonoyesyesyesyesyesnononoyesnoyesnonononononononoyes-yesyesyesnonoyesyesyesyesnoyesyesyesnonononoyesnononoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesnoyesyesnoyesyesyesyesyesyesyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_1922.2.0yesyesnoyesnonononononononoyesyesyesyesnonoyesyesyesyesyesnononoyesnoyesnonononononononoyes-yesyesyesyesnoyesyesyesyesnoyesyesyesnonononoyesnononoyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesnoyesyesyesyesyesyesyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_2243.0.1yesyesnosuspicious yes--nononononononoyesyesyesnononoyesyesyesyes-nonoyesnosuspicious yes------nonoyes-yesyesyesnonoerror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)yes-suspicious yesyessuspicious yes--nonoyesno-noyesnononosuspicious yessuspicious yes-suspicious yes-suspicious yesyesyesyesyesyesyesyes-yessuspicious yesnoyesyesnoyesyesyesyesyesyesyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_2563.0.1yesyesnosuspicious yes--nonononononoyesyesyesyesnonosuspicious yesyesyesyesyes-nonoyesnosuspicious yes------nonoyes-yesyesyesyesnoerror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)yesyes-suspicious yesyessuspicious yes--nonoyesno-noyesnononosuspicious yessuspicious yes-suspicious yes-suspicious yesyesyesyesyesyesyesyes-yessuspicious yesnoyesyesnoyesyesyesyesyesyesyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_3843.0.1yesyesnosuspicious yes--nonononononoyesyesyesyesnononononoyesyes-nonoyesnosuspicious yes------nonoyes-yesyesyesyesnoerror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)yes-nonono--nonoyesno-nonononononono-no-nononononononono-yessuspicious yesnoyesyesnononoyesnonoyesyes
TYPE_EC_FP_PRIVATE LENGTH_EC_FP_5213.0.4nononosuspicious yes--nononononononoyesyesyesnononononoyesyes-nonoyesnosuspicious yes------nonono-noyesnononoerror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)yes-nonono--nonoyesno-nonononononono-no-nononononononono-yessuspicious yesnoyesyesnononononononoyes
TYPE_EC_FP_PRIVATE_TRANSIENT_RESET3.0.1nononono--nononononononoyesyesyesnononononoyesyes-nonoyesnono------nonono-noyesnonononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyesyesnononononononono
TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT3.0.1nononono--nonononononononoyesyesnononononoyesyes-nonoyesnono------nonono-noyesnonononononono-nonono--nononono-nonononononono-no-nononononononono-nononoyes6f00nononononononono
TYPE_KOREAN_SEED_TRANSIENT_RESET2.2.2yesyesyesyesnononononononoyesyesyesyesyesyesnonoyesyesnonononononononononononononononono-nonononononononononoyesyesyesnonoyesyesnonononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesnonononononononoyesyesnoyesyesnono
TYPE_KOREAN_SEED_TRANSIENT_DESELECT2.2.2yesyesyesyesnononononononoyesyesyesyesyesyesnonoyesyesnonononononononononononononononono-nonononononononononoyesyesyesnonoyesyesnonononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesnonononononononoyesyesnoyesyesnono
TYPE_KOREAN_SEED LENGTH_KOREAN_SEED_1282.2.2yesyesyesyesnononononononoyesyesyesyesyesyesnonoyesyesnonononononononononononononononono-nonononononononononoyesyesyesnonoyesyesnonononoyesnononoyesyessuspicious yesyesyesyesyesyesyesyesyesyesnonononononononoyesyesnoyesyesnono
TYPE_HMAC_TRANSIENT_RESET2.2.2nononononononononononononononononononononononononononononononononononononono-nonononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
TYPE_HMAC_TRANSIENT_DESELECT2.2.2nononononononononononononononononononononononononononononononononononononono-nonononononoyesyesyesnononononononononononononononononononononononononononononononononoyes6f00nonononononoyesyes
TYPE_HMAC LENGTH_HMAC_SHA_1_BLOCK_642.2.2nononononononononononononononononononononononononononononononononononononono-nonononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_642.2.2nononononononononononononononononononononononononononononononononononononono-nonononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_642.2.2nononononononononononononononononononononononononononononononononononononono-nonononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_642.2.2nononononononononononononononononononononononononononononononononononononono-nonononononoyesyesyesnononononononononononononononononononononononononononononononononoyesyesnonononononoyesyes
javacard.security.KeyPair ALG_RSA on-card generationintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_RSA LENGTH_RSA_5122.1.1yesyesyesyes?yesnoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyes-yesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnonononoyesyes-yesnoyesyesnoyesyes
ALG_RSA LENGTH_RSA_7362.2.0yesyesyesyesnosuspicious yesnoyesnonononononononononoyesyesyesyesyesyesyesnoyesyesyesyesnono-nonoyesnoyesnoyesyesyesnonoyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnonononoyesyesnoyesnoyesyesnoyesyes
ALG_RSA LENGTH_RSA_7682.1.1yesyesyesyes?yesnoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyes-yesnoyesyesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnonononoyesyes-yesnoyesyesnoyesyes
ALG_RSA LENGTH_RSA_8962.2.0yesyesyesyesnosuspicious yesnoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesno-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnonononoyesyesnoyesnoyesyesnoyesyes
ALG_RSA LENGTH_RSA_10242.1.1yesyesyesyes?yesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyes-yesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnoyesyesyesyesyes-yesnoyesyesnoyesyes
ALG_RSA LENGTH_RSA_12802.2.0yesyesyesyesnosuspicious yesnoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyessuspicious yes-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnoyesyesyesyesyes-yesnoyesnonoyesyes
ALG_RSA LENGTH_RSA_15362.2.0yesyesyesyesnononoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyessuspicious yes-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnoyesyesyesyesyes-yesnoyesnonoyesyes
ALG_RSA LENGTH_RSA_19842.2.0yesyesyesyesnononoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesno-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnonononoyesyes-yesnoyesnonoyesyes
ALG_RSA LENGTH_RSA_20482.1.1yesyesyesyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesyesyesyesyesyes-yesnoyesyesyesnoyesyesyesyesyesyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesnoyesyesyesyesyes-yesnoyesnonoyesyes
ALG_RSA LENGTH_RSA_40963.0.1noyesnononononononononononononononononononononononononononononono-nononononononononononosuspicious yessuspicious yesyesyesnononono-nononononononononononononononononononononononononononononononononononononono
javacard.security.KeyPair ALG_RSA_CRT on-card generationintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_RSA_CRT LENGTH_RSA_5122.1.1yesyesyesyes?yesnoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnononoyesyes-yesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_7362.2.0yesyesyesyesnoerrornoyesnonononononononononoyesyesyesyesyesyesyesyesyesyesyesyesnono-nonoyesnoyesnoyesyesyesnonoyesyesyesyesyesnoyesnononononoyesnononoyesnonononononononononoyesyesnonoyesyesyesnononoyesyesnoyesyesyesyesnoyesyes
ALG_RSA_CRT LENGTH_RSA_7682.1.1yesyesyesyes?yesnoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesnoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnononoyesyes-yesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_8962.2.0yesyesyesyesnoerrornoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesno-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnononoyesyesnoyesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_10242.1.1yesyesyesyes?yesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_12802.2.0yesyesyesyesnononoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yes-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_15362.2.0yesyesyesyesnononoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyessuspicious yes-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyeserror(0x6300)yesyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_19842.2.0yesyesyesyesnononoyesyesyesyesyeserror(ILLEGAL_VALUE)yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesno-nonoyessuspicious yesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnononoyesyes-yesyesyesyesyesyesyes
ALG_RSA_CRT LENGTH_RSA_20482.1.1yesyesyesyesnononoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesnoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesnoyesnonoyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yesyesyesyesyeserror(ILLEGAL_VALUE)yes
ALG_RSA_CRT LENGTH_RSA_40963.0.1noyesnononononononononononononononononononononononononononononono-nononononononononononosuspicious yessuspicious yesyesyesnononono-nononononononononononononononononononononononononononononononononononononono
javacard.security.KeyPair ALG_DSA on-card generationintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_DSA LENGTH_DSA_5122.1.1nonononononononononononononononononononoyesyesnoyesyesnoyesnononononononononononononononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
ALG_DSA LENGTH_DSA_7682.1.1nonononononononononononononononononononoyesyesnoyesyesnoyesnononononononononononononononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
ALG_DSA LENGTH_DSA_10242.1.1nonononononononononononononononononononoyesyesnoyesyesnoyesnononononononononononononononononoyesyesyesyesnononononononononononononononononononononononononononononononononoyesnononoyesnonononono
javacard.security.KeyPair ALG_EC_F2M on-card generationintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_EC_F2M LENGTH_EC_F2M_1132.2.1nononononononononononononoyesyesyesnonononononononononononononononononononononononoerror(ILLEGAL_VALUE)nononoyesyesyesyesnononononoyesnononoyesyesnonoyesyesyesnonononononononononononononononononononononononononono
ALG_EC_F2M LENGTH_EC_F2M_1312.2.1nononononononononononononoyesyesyesnonononononononononononononononononononononononoerror(ILLEGAL_VALUE)nononoyesyesyesyesnononononoyesnononoyesyesnonoyesyesyesnonononononononononononononononononononononononononono
ALG_EC_F2M LENGTH_EC_F2M_1632.2.1nonononononononononononononononononononononononononononononononononononononononononononoerror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)nononononoyesnonononoyesnononononononononononononononononononononononononononononononono
ALG_EC_F2M LENGTH_EC_F2M_1932.2.1nonononononononononononononononononononononononononononononononononononononononononononoerror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)nononononoyesnonononoyesnononononononononononononononononononononononononononononononono
javacard.security.KeyPair ALG_EC_FP on-card generationintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_EC_FP LENGTH_EC_FP_1122.2.1yesyesnononononononononononoyesyesyesnonononoerror(0x6a81)error(ILLEGAL_VALUE)error(ILLEGAL_VALUE)nononoerror(ILLEGAL_VALUE)nononononononononononononoerror(ILLEGAL_VALUE)nononoyesyesyesyesnononononononononononononononononononononononononononononononononoerror(ILLEGAL_VALUE)yesnonoerror(ILLEGAL_VALUE)nonononoerror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_1282.2.1yesyesnononononononononononoyesyesyesnonoyesyesyesyesyesnononoyesnononononononononononononoyesnononoNullPointerExceptionNullPointerExceptionyesyesnoyesyesyesnonononononononoyesnononoyesyesyesyesyesyesyesyesyesyesyeserror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)nonononoyesyesnoyeserror(ILLEGAL_VALUE)nonoyesnoerror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_1602.2.1yesyesnoyesnononononononononoyesyesyesnonoyesyesyesyesyesnononoyesnoerror(ILLEGAL_VALUE)nonononononononoyesnoyesyesyesnonoNullPointerExceptionNullPointerExceptionyesyesnoyesyesyesnonononoyesnononoyesnononoyesyesyesyesyesyesyesyesyesyesyeserror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)nonononoyesyesnoyeserror(ILLEGAL_VALUE)yesyesyesyeserror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_1922.2.1yesyesnoyesnonononononononoyesyesyesyesnonoyesyesyesyesyesnononoyesnoerror(ILLEGAL_VALUE)nonononononononoyesnoyesyesyeserror(ILLEGAL_VALUE)noNullPointerExceptionNullPointerExceptionyesyesnoyesyesyesnonononoyesnononoyesnononoyesyesyesyesyesyesyesyesyesyesyeserror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)nonononoyesyesnoyeserror(ILLEGAL_VALUE)yesyesyesyeserror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_2243.0.1yesyesnosuspicious yes--nononononononoyesyesyesnononoyesyesyesyes-nonoyesnoerror(ILLEGAL_VALUE)------nonoyes-yesyesyesnonoNullPointerExceptionNullPointerExceptionerror(ILLEGAL_VALUE)yes-error(ILLEGAL_VALUE)yessuspicious yes--nonoyesno-noyesnononosuspicious yessuspicious yes-suspicious yes-suspicious yesyesyesyesyesyeserror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)-nononoyesyesno-error(ILLEGAL_VALUE)yesyeserror(ILLEGAL_VALUE)yeserror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_2563.0.1yesyesnosuspicious yes--nonononononoyesyesyesyesnonosuspicious yesyesyesyesyes-nonoyesnoerror(ILLEGAL_VALUE)------nonoyes-yesyesyeserror(ILLEGAL_VALUE)noNullPointerExceptionNullPointerExceptionyesyes-error(ILLEGAL_VALUE)yessuspicious yes--nonoyesno-noyesnononosuspicious yessuspicious yes-suspicious yes-suspicious yesyesyesyesyesyeserror(ILLEGAL_VALUE)error(ILLEGAL_VALUE)-nononoyesyesno-error(ILLEGAL_VALUE)yesyeserror(ILLEGAL_VALUE)yeserror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_3843.0.1yesyesnosuspicious yes--nonononononoyesyesyesyesnononononoyesyes-nonoyesnoerror(ILLEGAL_VALUE)------nonoyes-yesyesyeserror(ILLEGAL_VALUE)noNullPointerExceptionNullPointerExceptionerror(ILLEGAL_VALUE)yes-nonono--nonoyesno-nonononononono-no-nononononononono-nononoyesyesno-noyesnonoyeserror(ILLEGAL_VALUE)
ALG_EC_FP LENGTH_EC_FP_5213.0.4nononosuspicious yes--nononononononoyesyesyesnononononoyesyes-nonoyesnoerror(ILLEGAL_VALUE)------nonono-noyesnononoNullPointerExceptionNullPointerExceptionerror(ILLEGAL_VALUE)yes-nonono--nonoyesno-nonononononono-no-nononononononono-nononoyesyesno-nononononoerror(ILLEGAL_VALUE)
javacard.security.KeyAgreementintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF2.2.1yesyesyesyesnonononononononoyesyesyesyesnonoyesyesyesyesyesnononoyesyesyesnonononononononoyesnoyesyesyesyesnoyesyesyesyesnoyesyesyesnonononoyesnonoyesyesyesyesyesyesyesyes-yesyesyesyesyesyesyesyesyesnoyesyesnoyesyesyesyesyesyesyesyesyesyes
ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF2.2.1-yesnoyesnonononononono----nonono--yesyesyes---yesnonononononononononoyesnoyesyesyes--yesyesyesyes---yesnonononoyesnono-no---yes-yesyesyes-yes-no-yes-nonoyesyes--yesnononoyesyesyes-yes
ALG_EC_SVDP_DH_PLAIN3.0.1-yesnosuspicious yes--nonononono----nonono--yesyesyes---yesnono------nonoyes-yesyesyes--nononoyes---no--nonoyesnono-yes---no--no--no-yes-no-yes-nono--yesnoyesnoyesnono-yes
ALG_EC_SVDP_DHC_PLAIN3.0.1-yesnosuspicious yes--nonononono----nonono--yesyesyes---yesnono------nonoyes-yesyesyes--nononoyes---no--nonoyesnono-no---no--no--no-no-no-no-nono--yesnononoyesnono-yes
ALG_EC_PACE_GM3.0.5-no-no--nonono-no----nonono--nonono---no--------nonono-nonono--nononono---no--nonosuspicious yesnono-no---no--no--no-no-no----no--no--------
ALG_EC_SVDP_DH_PLAIN_XY3.0.5-no-no--nonononono----nonono--nonono---no--------nonono-nonono--nononono---no--nonosuspicious yesnono-no---no--no--no-no-no----no--no--------
ALG_DH_PLAIN3.0.5-no-no--nonononono----nonono--nonono---no--------nonono-nonono--nononono---no--nonononono-no---no--no--no-no-no----no--no--------
javacard.security.Checksumintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
ALG_ISO3309_CRC162.2.1yesyesnoyesnonoyesnoyesyesyesyesyesyesyesyesyesyesnoyesnoyesyesnononoyesyesyes??nonononoyessuspicious yesyesnoyesyesyesnonoyesyesyesyesnoyesyesyesyesnoyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesnonononoyesyesyesyesnoyesyesyesyesyes
ALG_ISO3309_CRC322.2.1yesyesnoyesnonoyesnoyesyesyesyesyesyesyesyesyesyesnonoyesyesyesnononoyesnono??nononononosuspicious yesyesnoyesyesyesnonoyesyesyesyesnoyesnonononoyesyesyesnonononononononononononononononononononononononoyesyesnononoyesyesnoyesyes
Variable RSA 1024 - support for variable public exponent. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need itintroduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
Allocate RSA 1024 objectsyesyesyesyesyes-yes---yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-yes---yesyesyes-yesyes-yesyes-----yesyesyesno-yesyes-yesyesnoyesyesyesyesyesyesyesyesyesyes-yes-yes-yesyes-yesyesyesyes-yesyesyesyesyesyesyesyes
Set random modulusyesyesyesyesno-yes---yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes-no---yesyesyes-yesyes-yesyes-----yesyesyesno-yesyes-yesyesnoyesyesyesyesyesyesyesyesyesyes-yes-yes-yesyes-nonoyesyes-yesyesyesnonoyesyesyes
Set random public exponentyesyesyesyesno-no---nononononononononoyesyesyesyesyesyesyesyesnonono-no---nonono-noyes-nono-----yesyesyesno-nono-yesyesnoyesyesyesyesyesyesyesyesyesyes-yes-yes-yesyes-nonoyesyes-noyesyesnonoyesnoyes
Initialize cipher with public key with random exponentyesyesyesyesno-no---nononononononononoyesyesyesyesyesyesyesyesnonono-no---nonono-noyes-nono-----yesyesyesno-nono-yesyesnoyesyesyesyesyesyesyesyesyesyes-yes-yes-yesyes-nonoyesyes-noyesyesnonoyesnoyes
Use random public exponentnoyesyesyesno-no---nononononononononoyesyesnonoyesyesyesyesnonono-no---nonono-noyes-nono-----yesyesyesno-nono-yesyesnoyesyesyesyesyesyesyesyesyesyes-yes-yes-yesyes-nononoyes-noyesyesnonoyesnono
Package AID support test - a direct testing of supported packages from the standard JavaCard API including version. Not all constants from supported package are necessarily supported.introduced in JC ver.c0c1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18c19c20c21c22c23c24c25c26c27c28c29c30c31c32c33c34c35c36c37c38c39c40c41c42c43c44c45c46c47c48c49c50c51c52c53c54c55c56c57c58c59c60c61c62c63c64c65c66c67c68c69c70c71c72c73c74c75c76c77c78c79c80c81c82c83c84c85c86c87c88c89c90
java.lang v1.0 (000107A0000000620001)2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
java.io v1.0 (000107A0000000620002)2.2.0-yes-yes-----no-yes---yesyesno--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
java.rmi v1.0 (000107A0000000620003)2.2.0-yes-yes-----no-yes---yesyesno--yesno--yesyes-----------no--yes-nono------yesyes----no-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-no--------
javacard.framework v1.0 (000107A0000000620101)2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacard.framework v1.1 (010107A0000000620101)2.2.0-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacard.framework v1.2 (020107A0000000620101)2.2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----no-yesyes-yes--------
javacard.framework v1.3 (030107A0000000620101)2.2.2-yes-yes-----yes-yes---yesyesyes--yesyes--nono-----------yes--yes-yesyes------yesyes----yes-nonoyesnono-yesyes-yes-yes-yes-----no-yesno-yes--------
javacard.framework v1.4 (040107A0000000620101)3.0.1-yes-no-----yes-yes---yesyesyes--yesyes--nono-----------yes--yes-yesyes------yesno----yes-nonoyesnono-nono-no-no-yes-----no-nono-yes--------
javacard.framework v1.5 (050107A0000000620101)3.0.4-yes-no-----yes-yes---yesyesyes--noyes--nono-----------yes--no-yesyes------nono----yes-nonononono-nono-no-no-no-----no-nono-yes--------
javacard.framework v1.6 (060107A0000000620101)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacard.framework.service v1.0 (000108A000000062010101)2.2.0-yes-yes-----no-yes---yesyesno--nono--nono-----------no--no-nono------yesyes----no-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-no--------
javacard.security v1.0 (000107A0000000620102)2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacard.security v1.1 (010107A0000000620102)2.1.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacard.security v1.2 (020107A0000000620102)2.2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacard.security v1.3 (030107A0000000620102)2.2.2-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-nonoyesnono-yesyes-yes-yes-yes-----no-yesno-yes--------
javacard.security v1.4 (040107A0000000620102)3.0.1-yes-no-----yes-yes---yesyesyes--yesyes--nono-----------yes--yes-yesyes------yesno----yes-nonoyesnono-nono-no-no-yes-----no-nono-yes--------
javacard.security v1.5 (050107A0000000620102)3.0.4-yes-no-----yes-yes---yesyesyes--noyes--nono-----------yes--no-yesyes------nono----yes-nonononono-nono-no-no-no-----no-nono-yes--------
javacard.security v1.6 (060107A0000000620102)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.crypto v1.0 (000107A0000000620201)2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacardx.crypto v1.1 (010107A0000000620201)2.1.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacardx.crypto v1.2 (020107A0000000620201)2.2.1-yes-yes-----yes-yes---yesyesyes--yesyes--yesyes-----------yes--yes-yesyes------yesyes----yes-yesyesyesyesyes-yesyes-yes-yes-yes-----yes-yesyes-yes--------
javacardx.crypto v1.3 (030107A0000000620201)2.2.2-yes-yes-----yes-yes---yesyesyes--yesyes--nono-----------yes--yes-yesyes------yesyes----yes-nonoyesnono-yesyes-yes-yes-yes-----no-yesno-yes--------
javacardx.crypto v1.4 (040107A0000000620201)3.0.1-yes-no-----yes-yes---yesyesyes--yesyes--nono-----------yes--yes-yesyes------yesno----yes-nonoyesnono-nono-no-no-yes-----no-nono-yes--------
javacardx.crypto v1.5 (050107A0000000620201)3.0.4-yes-no-----yes-yes---yesyesyes--noyes--nono-----------yes--no-yesyes------nono----yes-nonononono-nono-no-no-no-----no-nono-yes--------
javacardx.crypto v1.6 (060107A0000000620201)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.biometry v1.0 (000107A0000000620202)2.2.2-yes-no-----no-yes---yesyesno--yesyes--nono-----------no--yes-nono------nono----yes-nonononono-nono-no-no-no-----no-yesno-no--------
javacardx.biometry v1.1 (010107A0000000620202)2.2.2-yes-no-----no-yes---yesyesno--yesyes--nono-----------no--yes-nono------nono----yes-nonononono-nono-no-no-no-----no-yesno-no--------
javacardx.biometry v1.2 (020107A0000000620202)2.2.2-yes-no-----no-yes---yesyesno--yesyes--nono-----------no--yes-nono------nono----yes-nonononono-nono-no-no-no-----no-yesno-no--------
javacardx.biometry v1.3 (030107A0000000620202)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----suspicious yes-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.external v1.0 (000107A0000000620203)2.2.2-no-no-----yes-yes---yesyesyes--yesno--nono-----------yes--yes-yesno------yesyes----yes-nonoyesnono-yesyes-yes-yes-yes-----no-nono-no--------
javacardx.biometry1toN v1.0 (000107A0000000620204)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.security v1.0 (000107A0000000620205)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.framework.util v1.0 (000108A000000062020801)2.2.2-yes-no-----no-yes---yesyesno--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.framework.util v1.1 (010108A000000062020801)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.framework.util.intx v1.0 (000109A00000006202080101)2.2.2-yes-no-----yes-yes---yesyesyes--nono--nono-----------no--no-yesno------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.framework.math v1.0 (000108A000000062020802)2.2.2-yes-no-----no-yes---yesyesno--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.framework.tlv v1.0 (000108A000000062020803)2.2.2-yes-no-----no-yes---yesyesno--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.framework.string v1.0 (000108A000000062020804)3.0.4-no-no-----no-yes---yesyesno--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
javacardx.apdu v1.0 (000107A0000000620209)2.2.2-no-yes-----yes-yes---yesyesyes--yesyes--nono-----------yes--yes-yesyes------yesyes----yes-nonoyesnono-yesyes-yes-yes-yes-----no-yesno-no--------
javacardx.apdu.util v1.0 (000108A000000062020901)3.0.5-no-no-----no-no---nonono--nono--nono-----------no--no-nono------nono----no-nonononono-nono-no-no-no-----no-nono-no--------
+
+ + + + + + \ No newline at end of file diff --git a/Profiles/results/ACS_ACOSJ_40K_ALGSUPPORT__3b_69_00_02_41_43_4f_53_4a_76_31_30_31_(provided_by_PetrS).csv b/Profiles/results/ACS_ACOSJ_40K_ALGSUPPORT__3b_69_00_02_41_43_4f_53_4a_76_31_30_31_(provided_by_PetrS).csv index ccf6b726..7b397e49 100644 --- a/Profiles/results/ACS_ACOSJ_40K_ALGSUPPORT__3b_69_00_02_41_43_4f_53_4a_76_31_30_31_(provided_by_PetrS).csv +++ b/Profiles/results/ACS_ACOSJ_40K_ALGSUPPORT__3b_69_00_02_41_43_4f_53_4a_76_31_30_31_(provided_by_PetrS).csv @@ -210,10 +210,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.124000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.116000 ALG_EC_SVDP_DH_PLAIN;yes;0.110000 ALG_EC_SVDP_DHC_PLAIN;yes;0.120000 -ALG_EC_PACE_GM;yes;0.046000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.060000 -ALG_DH_PLAIN;yes;0.063000 - +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.168000 ALG_ISO3309_CRC32;yes;0.180000 diff --git a/Profiles/results/G+D_StarSign_Crypto_USB_token_S_ALGSUPPORT__3b_f0_96_00_00_81_31_fe_45_6d__(provided_by_Luka_Logar).csv b/Profiles/results/G+D_StarSign_Crypto_USB_token_S_ALGSUPPORT__3b_f0_96_00_00_81_31_fe_45_6d__(provided_by_Luka_Logar).csv index be12f0c5..1ff6c7fd 100644 --- a/Profiles/results/G+D_StarSign_Crypto_USB_token_S_ALGSUPPORT__3b_f0_96_00_00_81_31_fe_45_6d__(provided_by_Luka_Logar).csv +++ b/Profiles/results/G+D_StarSign_Crypto_USB_token_S_ALGSUPPORT__3b_f0_96_00_00_81_31_fe_45_6d__(provided_by_Luka_Logar).csv @@ -227,10 +227,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,050000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0,048000 ALG_EC_SVDP_DH_PLAIN;yes;0,063000 ALG_EC_SVDP_DHC_PLAIN;yes;0,060000 -ALG_EC_PACE_GM;yes;0,044000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0,031000 -ALG_DH_PLAIN;yes;0,031000 - +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0,072000 ALG_ISO3309_CRC32;yes;0,086000 diff --git a/Profiles/results/Gemplus_GXP_R4_72K_ICFabDate_2007_291_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_c0_a9_83_00_90_00_(provided_by_PetrS).csv b/Profiles/results/Gemplus_GXP_R4_72K_ICFabDate_2007_291_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_c0_a9_83_00_90_00_(provided_by_PetrS).csv index 2ef1aa5b..945b84b6 100644 --- a/Profiles/results/Gemplus_GXP_R4_72K_ICFabDate_2007_291_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_c0_a9_83_00_90_00_(provided_by_PetrS).csv +++ b/Profiles/results/Gemplus_GXP_R4_72K_ICFabDate_2007_291_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_c0_a9_83_00_90_00_(provided_by_PetrS).csv @@ -208,10 +208,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,058000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0,057000 -ALG_EC_SVDP_DH_PLAIN;yes;0,058000 -ALG_EC_SVDP_DHC_PLAIN;yes;0,057000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum diff --git a/Profiles/results/Gemplus_unknown_jc2.1.2_ICFabDate_2006_005_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_11_ac_83_00_90_00_(provided_by_PetrS).csv b/Profiles/results/Gemplus_unknown_jc2.1.2_ICFabDate_2006_005_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_11_ac_83_00_90_00_(provided_by_PetrS).csv index d12ebacc..fe34127e 100644 --- a/Profiles/results/Gemplus_unknown_jc2.1.2_ICFabDate_2006_005_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_11_ac_83_00_90_00_(provided_by_PetrS).csv +++ b/Profiles/results/Gemplus_unknown_jc2.1.2_ICFabDate_2006_005_ALGSUPPORT__3b_7d_94_00_00_80_31_80_65_b0_83_11_11_ac_83_00_90_00_(provided_by_PetrS).csv @@ -207,10 +207,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,059000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0,059000 -ALG_EC_SVDP_DH_PLAIN;yes;0,058000 -ALG_EC_SVDP_DHC_PLAIN;yes;0,059000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum diff --git a/Profiles/results/Infineon_jTOP_ID_SLJ_52GCA150CL_ICFabDate_2015_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_07_90_00_f4__(provided_by_Luka_Logar).csv b/Profiles/results/Infineon_jTOP_ID_SLJ_52GCA150CL_ICFabDate_2015_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_07_90_00_f4__(provided_by_Luka_Logar).csv index 45eb3c5a..1170cfcb 100644 --- a/Profiles/results/Infineon_jTOP_ID_SLJ_52GCA150CL_ICFabDate_2015_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_07_90_00_f4__(provided_by_Luka_Logar).csv +++ b/Profiles/results/Infineon_jTOP_ID_SLJ_52GCA150CL_ICFabDate_2015_ALGSUPPORT__3b_fe_18_00_00_80_31_fe_45_80_31_80_66_40_90_a5_10_2e_10_83_07_90_00_f4__(provided_by_Luka_Logar).csv @@ -225,10 +225,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0,088000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0,098000 ALG_EC_SVDP_DH_PLAIN;yes;0,106000 ALG_EC_SVDP_DHC_PLAIN;yes;0,104000 -ALG_EC_PACE_GM;yes;0,042000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0,032000 -ALG_DH_PLAIN;yes;0,031000 - +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0,096000 ALG_ISO3309_CRC32;yes;0,103000 diff --git a/Profiles/results/NXP_J3A080_ICFabDate_2011_035_ALGSUPPORT__3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv b/Profiles/results/NXP_J3A080_ICFabDate_2011_035_ALGSUPPORT__3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv index 3098ee7c..1b73a490 100644 --- a/Profiles/results/NXP_J3A080_ICFabDate_2011_035_ALGSUPPORT__3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv +++ b/Profiles/results/NXP_J3A080_ICFabDate_2011_035_ALGSUPPORT__3b_f8_13_00_00_81_31_fe_45_4a_43_4f_50_76_32_34_31_b7_(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2018/07/18 22:03:23 -AlgTestJClient version; 1.7.4 -AlgTest applet version; 1.7.4 +Execution date/time; 2019/04/19 22:06:09 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Generic EMV Smartcard Reader 0 Card ATR; 3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 Card name; NXP J3A080 @@ -208,7 +208,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.121000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.108000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.113000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.111000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.113000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -225,11 +227,11 @@ TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.113000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.117000 -ALG_EC_SVDP_DH_PLAIN;yes;0.017000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.017000 -ALG_EC_PACE_GM;yes;0.017000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.015000 -ALG_DH_PLAIN;yes;0.017000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.079000 @@ -282,6 +284,10 @@ ALG_EC_FP LENGTH_EC_FP_256;yes;1.193000 ALG_EC_FP LENGTH_EC_FP_384;no; ALG_EC_FP LENGTH_EC_FP_521;no; +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.195000 sec; Set random modulus;yes;0.057000 sec; diff --git a/Profiles/results/NXP_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv b/Profiles/results/NXP_JCOP3_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv similarity index 94% rename from Profiles/results/NXP_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv rename to Profiles/results/NXP_JCOP3_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv index e3170136..954eb907 100644 --- a/Profiles/results/NXP_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv +++ b/Profiles/results/NXP_JCOP3_J3H081_EMV_ICFabDate_2016_355_ALGSUPPORT__3b_f8_18_00_00_81_31_fe_45_00_73_c8_40_00_00_90_00_80_(provided_by_Adam_Zhang_and_Richard_Mitev).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.;, -Execution date/time; 2018/06/20 12:00:23, -AlgTestJClient version; 1.7.4, -AlgTest applet version; 1.7.4, +Execution date/time; 2019/04/19 21:59:23 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Gemplus USB SmartCard Reader 0, Card ATR; 3b f8 18 00 00 81 31 fe 45 00 73 c8 40 00 00 90 00 80, Card name; J3H081 EMV, @@ -205,9 +205,11 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_128;no;, TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;no;, TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;no;, TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;no;, -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;no;, -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no;, -TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no;, +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no;, TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no;, TYPE_KOREAN_SEED_TRANSIENT_RESET;yes;0.088000, @@ -220,14 +222,14 @@ TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_64;no;, TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no;, TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no;, , -javacard.security.KeyAgreement, -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.012000, -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.011000, -ALG_EC_SVDP_DH_PLAIN;yes;0.011000, -ALG_EC_SVDP_DHC_PLAIN;yes;0.011000, -ALG_EC_PACE_GM;yes;0.012000, -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.012000, -ALG_DH_PLAIN;yes;0.012000, +javacard.security.KeyAgreement +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; , javacard.security.Checksum, ALG_ISO3309_CRC16;yes;0.094000, @@ -280,6 +282,10 @@ ALG_EC_FP LENGTH_EC_FP_256;no;, ALG_EC_FP LENGTH_EC_FP_384;no;, ALG_EC_FP LENGTH_EC_FP_521;no;, , +javacardx.crypto.AEADCipher +CIPHER_AES_CCM;no; +CIPHER_AES_GCM;no; + Support for variable public exponent for RSA 1024. If supported, user-defined fast modular exponentiation can be executed on the smart card via cryptographic coprocessor. This is very specific feature and you will probably not need it; Allocate RSA 1024 objects;yes;0.177000 sec;, Set random modulus;yes;0.044000 sec;, diff --git a/Profiles/results/NXP_JCOP_J3H081_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins).csv b/Profiles/results/NXP_JCOP3_J3H081_EMV_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins_and_PetrS).csv similarity index 97% rename from Profiles/results/NXP_JCOP_J3H081_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins).csv rename to Profiles/results/NXP_JCOP3_J3H081_EMV_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins_and_PetrS).csv index c836f2bf..3a2fb599 100644 --- a/Profiles/results/NXP_JCOP_J3H081_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins).csv +++ b/Profiles/results/NXP_JCOP3_J3H081_EMV_ICFabDate_2018_ALGSUPPORT__3b_fa_18_00_00_81_31_fe_45_50_56_4a_43_4f_50_33_45_4d_56_94_(provided_by_Rowland_Watkins_and_PetrS).csv @@ -221,13 +221,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no;, TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no;, , javacard.security.KeyAgreement, -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.008000, -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.008000, -ALG_EC_SVDP_DH_PLAIN;yes;0.008000, -ALG_EC_SVDP_DHC_PLAIN;yes;0.008000, -ALG_EC_PACE_GM;yes;0.008000, -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.008000, -ALG_DH_PLAIN;yes;0.008000, +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; , javacard.security.Checksum, ALG_ISO3309_CRC16;yes;0.092000, diff --git a/Profiles/results/NXP_JCOP41_v2.3.1_ICFabDate_2008_ALGSUPPORT__3b_fa_18_00_ff_81_31_fe_45_4a_43_4f_50_34_31_56_32_33_31_63__(provided_by_Radboud_University).csv b/Profiles/results/NXP_JCOP41_v2.3.1_ICFabDate_2008_ALGSUPPORT__3b_fa_18_00_ff_81_31_fe_45_4a_43_4f_50_34_31_56_32_33_31_63__(provided_by_Radboud_University).csv index d4b2db54..b9abb4e8 100644 --- a/Profiles/results/NXP_JCOP41_v2.3.1_ICFabDate_2008_ALGSUPPORT__3b_fa_18_00_ff_81_31_fe_45_4a_43_4f_50_34_31_56_32_33_31_63__(provided_by_Radboud_University).csv +++ b/Profiles/results/NXP_JCOP41_v2.3.1_ICFabDate_2008_ALGSUPPORT__3b_fa_18_00_ff_81_31_fe_45_4a_43_4f_50_34_31_56_32_33_31_63__(provided_by_Radboud_University).csv @@ -221,13 +221,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.139000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.142000 -ALG_EC_SVDP_DH_PLAIN;yes;0.142000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.142000 -ALG_EC_PACE_GM;yes;0.142000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.142000 -ALG_DH_PLAIN;yes;0.142000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.092000 diff --git a/Profiles/results/NXP_JCOP41_v221_3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d _(provided_by_PetrS).csv b/Profiles/results/NXP_JCOP41_v221_3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d _(provided_by_PetrS).csv index 2a7acb27..466f6c68 100644 --- a/Profiles/results/NXP_JCOP41_v221_3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d _(provided_by_PetrS).csv +++ b/Profiles/results/NXP_JCOP41_v221_3b fa 18 00 00 81 31 fe 45 4a 43 4f 50 34 31 56 32 32 31 9d _(provided_by_PetrS).csv @@ -196,8 +196,13 @@ ALG_EC_FP LENGTH_EC_FP_160;no; ALG_EC_FP LENGTH_EC_FP_192;no; javacard\.security\.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes; -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes; +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;no; +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;no; +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum; ALG_ISO3309_CRC16;yes; diff --git a/Profiles/results/NXP_JCOP_CJ3A081_JC222_3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 _(provided_by_PetrS).csv b/Profiles/results/NXP_JCOP_CJ3A081_JC222_3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 _(provided_by_PetrS).csv index 1f8e6f01..21c1f78e 100644 --- a/Profiles/results/NXP_JCOP_CJ3A081_JC222_3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 _(provided_by_PetrS).csv +++ b/Profiles/results/NXP_JCOP_CJ3A081_JC222_3b f8 13 00 00 81 31 fe 45 4a 33 41 30 38 31 56 32 34 31 89 _(provided_by_PetrS).csv @@ -1,8 +1,8 @@ INFO: This file was generated by AlgTest utility. See http://www.fi.muni.cz/~xsvenda/jcsupport.html for more results, source codes and other details.; Tested and provided by; insert your name please.; -Execution date/time; 2017/06/10 20:11:01 -AlgTestJClient version; 1.7.3 -AlgTest applet version; 1.7.3 +Execution date/time; 2019/04/19 21:47:15 +AlgTestJClient version; 1.7.7 +AlgTest applet version; 1.7.7 Used reader; PC/SC terminal Generic EMV Smartcard Reader 0 Card ATR; 3b f8 13 00 00 81 31 fe 45 4a 43 4f 50 76 32 34 31 b7 Card name; NXP CJ3A081 @@ -211,7 +211,9 @@ TYPE_EC_FP_PRIVATE LENGTH_EC_FP_160;yes;0.109000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_192;yes;0.111000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_224;yes;0.110000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_256;yes;0.109000 +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_320;yes;0.102000 TYPE_EC_FP_PRIVATE LENGTH_EC_FP_384;no; +TYPE_EC_FP_PRIVATE LENGTH_EC_FP_512;no; TYPE_EC_FP_PRIVATE LENGTH_EC_FP_521;no; TYPE_EC_FP_PRIVATE_TRANSIENT_RESET;no; TYPE_EC_FP_PRIVATE_TRANSIENT_DESELECT;no; @@ -226,13 +228,13 @@ TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.114000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.123000 -ALG_EC_SVDP_DH_PLAIN;yes;0.016000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.015000 -ALG_EC_PACE_GM;yes;0.016000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.016000 -ALG_DH_PLAIN;yes;0.016000 +LG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.097000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.094000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.076000 diff --git a/Profiles/results/jCardSim-2.2.1-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv b/Profiles/results/jCardSim-2.2.1-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv index 032b6292..d717fb24 100644 --- a/Profiles/results/jCardSim-2.2.1-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv +++ b/Profiles/results/jCardSim-2.2.1-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv @@ -205,14 +205,15 @@ TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;no; TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;no; + javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.000000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN;yes;0.000000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.000000 -ALG_EC_PACE_GM;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.000000 -ALG_DH_PLAIN;yes;0.000000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.004000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.003000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.000000 diff --git a/Profiles/results/jCardSim-2.2.2-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv b/Profiles/results/jCardSim-2.2.2-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv index 259595bd..f0063d72 100644 --- a/Profiles/results/jCardSim-2.2.2-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv +++ b/Profiles/results/jCardSim-2.2.2-all_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv @@ -205,14 +205,15 @@ TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_64;yes;0.000000 TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;yes;0.000000 TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;yes;0.000000 + javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.000000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN;yes;0.000000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.015000 -ALG_EC_PACE_GM;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.000000 -ALG_DH_PLAIN;yes;0.000000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.004000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.003000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.000000 diff --git a/Profiles/results/jCardSim-3.0.4-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv b/Profiles/results/jCardSim-3.0.4-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv index 5707e5d4..a76ae2fd 100644 --- a/Profiles/results/jCardSim-3.0.4-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv +++ b/Profiles/results/jCardSim-3.0.4-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv @@ -205,14 +205,15 @@ TYPE_HMAC LENGTH_HMAC_SHA_256_BLOCK_64;yes;0.000000 TYPE_HMAC LENGTH_HMAC_SHA_384_BLOCK_64;yes;0.000000 TYPE_HMAC LENGTH_HMAC_SHA_512_BLOCK_64;yes;0.000000 + javacard.security.KeyAgreement -ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.032000 -ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN;yes;0.000000 -ALG_EC_SVDP_DHC_PLAIN;yes;0.000000 -ALG_EC_PACE_GM;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.000000 -ALG_DH_PLAIN;yes;0.031000 +ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.004000 +ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.003000 +ALG_EC_SVDP_DH_PLAIN;no; +ALG_EC_SVDP_DHC_PLAIN;no; +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.000000 diff --git a/Profiles/results/jCardSim-3.0.5-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv b/Profiles/results/jCardSim-3.0.5-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv index c8dc964d..d08a05b9 100644 --- a/Profiles/results/jCardSim-3.0.5-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv +++ b/Profiles/results/jCardSim-3.0.5-SNAPSHOT_ALGSUPPORT__3B_FA_18_00_00_81_31_FE_45_4A_43_4F_50_33_31_56_32_33_32_98_(provided_by_PetrS).csv @@ -210,9 +210,9 @@ ALG_EC_SVDP_DH/ALG_EC_SVDP_DH_KDF;yes;0.000000 ALG_EC_SVDP_DHC/ALG_EC_SVDP_DHC_KDF;yes;0.000000 ALG_EC_SVDP_DH_PLAIN;yes;0.000000 ALG_EC_SVDP_DHC_PLAIN;yes;0.018000 -ALG_EC_PACE_GM;yes;0.000000 -ALG_EC_SVDP_DH_PLAIN_XY;yes;0.000000 -ALG_DH_PLAIN;yes;0.000000 +ALG_EC_PACE_GM;no; +ALG_EC_SVDP_DH_PLAIN_XY;no; +ALG_DH_PLAIN;no; javacard.security.Checksum ALG_ISO3309_CRC16;yes;0.000000