Codebase list libcryptx-perl / ac92acf
urls Karel Miko 10 years ago
16 changed file(s) with 72 addition(s) and 13 deletion(s). Raw diff Collapse all Expand all
2222
2323 my %list = (
2424 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'] },
3030 );
3131
3232 my @test_strings = ( '', '123', "test\0test\0test\n");
2121 my %list = (
2222 CBC => { info=>'Block cipher mode CBC [Cipher-block chaining]',
2323 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'],
2525 },
2626 CFB => { info=>'Block cipher mode CFB [Cipher feedback]',
2727 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'],
2929 },
3030 CTR => { info=>'Block cipher mode CTR [Counter mode]',
3131 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'],
3333 },
3434 ECB => { info=>'Block cipher mode ECB [Electronic codebook]',
3535 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'],
3838 },
3939 OFB => { info=>'Block cipher mode OFB [Output feedback]',
4040 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'],
4242 },
4343 # F8 => { info=>'Block cipher mode F8',
4444 # desc=>q[xxx-desc-goes here]},
5858 lc_name => lc($n),
5959 info => $list{$n}->{info},
6060 desc => $list{$n}->{desc},
61 urls => $list{$n}->{urls},
6162 };
6263
6364 if ($outdir_t) {
149149
150150 =item * L<CryptX|CryptX>
151151
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
152156 =back
153157
154158 =cut
149149
150150 =item * L<CryptX|CryptX>
151151
152 =item * L<https://en.wikipedia.org/wiki/OMAC_%28cryptography%29|https://en.wikipedia.org/wiki/OMAC_%28cryptography%29>
153
152154 =back
153155
154156 =cut
149149
150150 =item * L<CryptX|CryptX>
151151
152 =item * L<https://en.wikipedia.org/wiki/PMAC_%28cryptography%29|https://en.wikipedia.org/wiki/PMAC_%28cryptography%29>
153
152154 =back
153155
154156 =cut
147147
148148 =item * L<CryptX|CryptX>
149149
150 =item * L<http://eprint.iacr.org/2005/088.pdf|http://eprint.iacr.org/2005/088.pdf>
151
150152 =back
151153
152154 =cut
2626
2727 =head1 NAME
2828
29 Crypt::Mac::XCBC - Message authentication code XCBC
29 Crypt::Mac::XCBC - Message authentication code XCBC (RFC 3566)
3030
3131 =head1 SYNOPSIS
3232
149149
150150 =item * L<CryptX|CryptX>
151151
152 =item * L<https://www.ietf.org/rfc/rfc3566.txt|https://www.ietf.org/rfc/rfc3566.txt>
153
152154 =back
153155
154156 =cut
101101
102102 =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ...
103103
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
104106 =back
9292
9393 =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ...
9494
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
9597 =back
9999
100100 =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ...
101101
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
102104 =back
4141 =head1 DESCRIPTION
4242
4343 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>!
4545
4646 =head1 METHODS
4747
102102
103103 =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ...
104104
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
105107 =back
9292
9393 =item * L<Crypt::Cipher::AES|Crypt::Cipher::AES>, L<Crypt::Cipher::Blowfish|Crypt::Cipher::Blowfish>, ...
9494
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
9597 =back
387387 x => "FBC1062F73B9A17BB8473A2F5A074911FA7F20D28FB...", #private key
388388 y => "AB9AAA40774D3CD476B52F82E7EE2D8A8D40CD88BF4...", #public key
389389 }
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
391391 x => "6C801901AC74E2DC714D75A9F6969483CF...", #private key, random 0 < x < q
392392 y => "8F7604D77FA62C7539562458A63C7611B7...", #public key, where y = g^x mod p
393393 }
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
420420 pub_y => "78FC34C6A320E22672A96EBB6DA48387A40541A3D7E5CFAE0D58A513E38C8888",
421421 pub_z => "1",
422422 }
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
452452 dP => "486F142FEF0A1F53269AC43D2EE4D263E2841B60DA36...", #d mod (p - 1) CRT param
453453 dQ => "4597284B2968B72C4212DB7E8F24360B987B80514DA9...", #d mod (q - 1) CRT param
454454 }
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