mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
pgcrypto update:
* test error handling * add tests for des, 3des, cast5 * add some tests to blowfish, rijndael * Makefile: ability to specify different tests for different crypto libraries, so we can skip des, 3des and cast5 for builtin. Marko Kreen
This commit is contained in:
42
contrib/pgcrypto/sql/cast5.sql
Normal file
42
contrib/pgcrypto/sql/cast5.sql
Normal file
@ -0,0 +1,42 @@
|
||||
--
|
||||
-- Cast5 cipher
|
||||
--
|
||||
|
||||
-- test vectors from RFC2144
|
||||
|
||||
-- 128 bit key
|
||||
SELECT encode(encrypt(
|
||||
decode('01 23 45 67 89 AB CD EF', 'hex'),
|
||||
decode('01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A', 'hex'),
|
||||
'cast5-ecb/pad:none'), 'hex');
|
||||
-- result: 23 8B 4F E5 84 7E 44 B2
|
||||
|
||||
-- 80 bit key
|
||||
SELECT encode(encrypt(
|
||||
decode('01 23 45 67 89 AB CD EF', 'hex'),
|
||||
decode('01 23 45 67 12 34 56 78 23 45', 'hex'),
|
||||
'cast5-ecb/pad:none'), 'hex');
|
||||
-- result: EB 6A 71 1A 2C 02 27 1B
|
||||
|
||||
-- 40 bit key
|
||||
SELECT encode(encrypt(
|
||||
decode('01 23 45 67 89 AB CD EF', 'hex'),
|
||||
decode('01 23 45 67 12', 'hex'),
|
||||
'cast5-ecb/pad:none'), 'hex');
|
||||
-- result: 7A C8 16 D1 6E 9B 30 2E
|
||||
|
||||
-- cbc
|
||||
|
||||
-- empty data
|
||||
select encode( encrypt('', 'foo', 'cast5'), 'hex');
|
||||
-- 10 bytes key
|
||||
select encode( encrypt('foo', '0123456789', 'cast5'), 'hex');
|
||||
|
||||
-- decrypt
|
||||
select decrypt(encrypt('foo', '0123456', 'cast5'), '0123456', 'cast5');
|
||||
|
||||
-- iv
|
||||
select encode(encrypt_iv('foo', '0123456', 'abcd', 'cast5'), 'hex');
|
||||
select decrypt_iv(decode('384a970695ce016a', 'hex'),
|
||||
'0123456', 'abcd', 'cast5');
|
||||
|
Reference in New Issue
Block a user