urls
Karel Miko
10 years ago
22 | 22 | |
23 | 23 | my %list = ( |
24 | 24 | F9 => { info=>'Message authentication code F9', urls=>[] }, |
25 | HMAC => { info=>'Message authentication code HMAC', urls=>[] }, | |
26 | OMAC => { info=>'Message authentication code OMAC', urls=>[] }, | |
27 | Pelican => { info=>'Message authentication code Pelican (AES based MAC)', urls=>[] }, | |
28 | PMAC => { info=>'Message authentication code PMAC', urls=>[] }, | |
29 | XCBC => { info=>'Message authentication code XCBC', urls=>[] }, | |
25 | HMAC => { info=>'Message authentication code HMAC', urls=>['https://en.wikipedia.org/wiki/Hmac', 'https://tools.ietf.org/html/rfc2104'] }, | |
26 | OMAC => { info=>'Message authentication code OMAC', urls=>['https://en.wikipedia.org/wiki/OMAC_%28cryptography%29'] }, | |
27 | Pelican => { info=>'Message authentication code Pelican (AES based MAC)', urls=>['http://eprint.iacr.org/2005/088.pdf'] }, | |
28 | PMAC => { info=>'Message authentication code PMAC', urls=>['https://en.wikipedia.org/wiki/PMAC_%28cryptography%29'] }, | |
29 | XCBC => { info=>'Message authentication code XCBC (RFC 3566)', urls=>['https://www.ietf.org/rfc/rfc3566.txt'] }, | |
30 | 30 | ); |
31 | 31 | |
32 | 32 | my @test_strings = ( '', '123', "test\0test\0test\n"); |
21 | 21 | my %list = ( |
22 | 22 | CBC => { info=>'Block cipher mode CBC [Cipher-block chaining]', |
23 | 23 | desc=>"This module implements CBC cipher mode. B<NOTE:> it works only with ciphers from L<CryptX> (Crypt::Cipher::NNNN).", |
24 | url=>'https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29', | |
24 | urls=>['https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29'], | |
25 | 25 | }, |
26 | 26 | CFB => { info=>'Block cipher mode CFB [Cipher feedback]', |
27 | 27 | desc=>"This module implements CFB cipher mode. B<NOTE:> it works only with ciphers from L<CryptX> (Crypt::Cipher::NNNN).", |
28 | url=>'https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_.28CFB.29', | |
28 | urls=>['https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_.28CFB.29'], | |
29 | 29 | }, |
30 | 30 | CTR => { info=>'Block cipher mode CTR [Counter mode]', |
31 | 31 | desc=>"This module implements CTR cipher mode. B<NOTE:> it works only with ciphers from L<CryptX> (Crypt::Cipher::NNNN).", |
32 | url=>'https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29', | |
32 | urls=>['https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29'], | |
33 | 33 | }, |
34 | 34 | ECB => { info=>'Block cipher mode ECB [Electronic codebook]', |
35 | 35 | desc=>"This module implements ECB cipher mode. B<NOTE:> it works only with ciphers from L<CryptX> (Crypt::Cipher::NNNN).\n". |
36 | "BEWARE: ECB is inherently insecure, if you are not sure go for L<Crypt::Mode::CBC>!", | |
37 | url=>'https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_.28ECB.29', | |
36 | "B<BEWARE: ECB is inherently insecure>, if you are not sure go for L<Crypt::Mode::CBC>!", | |
37 | urls=>['https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_.28ECB.29'], | |
38 | 38 | }, |
39 | 39 | OFB => { info=>'Block cipher mode OFB [Output feedback]', |
40 | 40 | desc=>"This module implements OFB cipher mode. B<NOTE:> it works only with ciphers from L<CryptX> (Crypt::Cipher::NNNN).", |
41 | url=>'https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_.28OFB.29', | |
41 | urls=>['https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_.28OFB.29'], | |
42 | 42 | }, |
43 | 43 | # F8 => { info=>'Block cipher mode F8', |
44 | 44 | # desc=>q[xxx-desc-goes here]}, |
58 | 58 | lc_name => lc($n), |
59 | 59 | info => $list{$n}->{info}, |
60 | 60 | desc => $list{$n}->{desc}, |
61 | urls => $list{$n}->{urls}, | |
61 | 62 | }; |
62 | 63 | |
63 | 64 | if ($outdir_t) { |
149 | 149 | |
150 | 150 | =item * L<CryptX|CryptX> |
151 | 151 | |
152 | =item * L<https://en.wikipedia.org/wiki/Hmac|https://en.wikipedia.org/wiki/Hmac> | |
153 | ||
154 | =item * L<https://tools.ietf.org/html/rfc2104|https://tools.ietf.org/html/rfc2104> | |
155 | ||
152 | 156 | =back |
153 | 157 | |
154 | 158 | =cut |
149 | 149 | |
150 | 150 | =item * L<CryptX|CryptX> |
151 | 151 | |
152 | =item * L<https://en.wikipedia.org/wiki/OMAC_%28cryptography%29|https://en.wikipedia.org/wiki/OMAC_%28cryptography%29> | |
153 | ||
152 | 154 | =back |
153 | 155 | |
154 | 156 | =cut |
149 | 149 | |
150 | 150 | =item * L<CryptX|CryptX> |
151 | 151 | |
152 | =item * L<https://en.wikipedia.org/wiki/PMAC_%28cryptography%29|https://en.wikipedia.org/wiki/PMAC_%28cryptography%29> | |
153 | ||
152 | 154 | =back |
153 | 155 | |
154 | 156 | =cut |
147 | 147 | |
148 | 148 | =item * L<CryptX|CryptX> |
149 | 149 | |
150 | =item * L<http://eprint.iacr.org/2005/088.pdf|http://eprint.iacr.org/2005/088.pdf> | |
151 | ||
150 | 152 | =back |
151 | 153 | |
152 | 154 | =cut |
26 | 26 | |
27 | 27 | =head1 NAME |
28 | 28 | |
29 | Crypt::Mac::XCBC - Message authentication code XCBC | |
29 | Crypt::Mac::XCBC - Message authentication code XCBC (RFC 3566) | |
30 | 30 | |
31 | 31 | =head1 SYNOPSIS |
32 | 32 | |
149 | 149 | |
150 | 150 | =item * L<CryptX|CryptX> |
151 | 151 | |
152 | =item * L<https://www.ietf.org/rfc/rfc3566.txt|https://www.ietf.org/rfc/rfc3566.txt> | |
153 | ||
152 | 154 | =back |
153 | 155 | |
154 | 156 | =cut |
101 | 101 | |
102 | 102 | =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ... |
103 | 103 | |
104 | =item * L<https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29|https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29> | |
105 | ||
104 | 106 | =back |
92 | 92 | |
93 | 93 | =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ... |
94 | 94 | |
95 | =item * L<https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_.28CFB.29|https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_.28CFB.29> | |
96 | ||
95 | 97 | =back |
99 | 99 | |
100 | 100 | =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ... |
101 | 101 | |
102 | =item * L<https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29|https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29> | |
103 | ||
102 | 104 | =back |
41 | 41 | =head1 DESCRIPTION |
42 | 42 | |
43 | 43 | This module implements ECB cipher mode. B<NOTE:> it works only with ciphers from L<CryptX> (Crypt::Cipher::NNNN). |
44 | BEWARE: ECB is inherently insecure, if you are not sure go for L<Crypt::Mode::CBC>! | |
44 | B<BEWARE: ECB is inherently insecure>, if you are not sure go for L<Crypt::Mode::CBC>! | |
45 | 45 | |
46 | 46 | =head1 METHODS |
47 | 47 | |
102 | 102 | |
103 | 103 | =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ... |
104 | 104 | |
105 | =item * L<https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_.28ECB.29|https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_.28ECB.29> | |
106 | ||
105 | 107 | =back |
92 | 92 | |
93 | 93 | =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ... |
94 | 94 | |
95 | =item * L<https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_.28OFB.29|https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_.28OFB.29> | |
96 | ||
95 | 97 | =back |
387 | 387 | x => "FBC1062F73B9A17BB8473A2F5A074911FA7F20D28FB...", #private key |
388 | 388 | y => "AB9AAA40774D3CD476B52F82E7EE2D8A8D40CD88BF4...", #public key |
389 | 389 | } |
390 | ||
391 | =head1 SEE ALSO | |
392 | ||
393 | =over | |
394 | ||
395 | =item * L<https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange|https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange> | |
396 | ||
397 | =back |
391 | 391 | x => "6C801901AC74E2DC714D75A9F6969483CF...", #private key, random 0 < x < q |
392 | 392 | y => "8F7604D77FA62C7539562458A63C7611B7...", #public key, where y = g^x mod p |
393 | 393 | } |
394 | ||
395 | =head1 SEE ALSO | |
396 | ||
397 | =over | |
398 | ||
399 | =item * L<https://en.wikipedia.org/wiki/Digital_Signature_Algorithm|https://en.wikipedia.org/wiki/Digital_Signature_Algorithm> | |
400 | ||
401 | =back |
420 | 420 | pub_y => "78FC34C6A320E22672A96EBB6DA48387A40541A3D7E5CFAE0D58A513E38C8888", |
421 | 421 | pub_z => "1", |
422 | 422 | } |
423 | ||
424 | =head1 SEE ALSO | |
425 | ||
426 | =over | |
427 | ||
428 | =item * L<https://en.wikipedia.org/wiki/Elliptic_curve_cryptography|https://en.wikipedia.org/wiki/Elliptic_curve_cryptography> | |
429 | ||
430 | =item * L<https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman|https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman> | |
431 | ||
432 | =item * L<https://en.wikipedia.org/wiki/ECDSA|https://en.wikipedia.org/wiki/ECDSA> | |
433 | ||
434 | =back |
452 | 452 | dP => "486F142FEF0A1F53269AC43D2EE4D263E2841B60DA36...", #d mod (p - 1) CRT param |
453 | 453 | dQ => "4597284B2968B72C4212DB7E8F24360B987B80514DA9...", #d mod (q - 1) CRT param |
454 | 454 | } |
455 | ||
456 | =head1 SEE ALSO | |
457 | ||
458 | =over | |
459 | ||
460 | =item * L<https://en.wikipedia.org/wiki/RSA_%28algorithm%29|https://en.wikipedia.org/wiki/RSA_%28algorithm%29> | |
461 | ||
462 | =back |