Current Path : /home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/r/func_aes_misc.result |
############################################## #### Tests for ECB Mode ############################################## SET @IV='abcd1234efgh5678'; SET @KEYS=REPEAT('c', 16); SET @ENCSTR=REPEAT('d', 256); "--------------------------------------------" ##################### Testing with mode : aes-128-ecb SET SESSION block_encryption_mode="aes-128-ecb"; SELECT @@global.block_encryption_mode; @@global.block_encryption_mode aes-128-ecb SELECT @@session.block_encryption_mode; @@session.block_encryption_mode aes-128-ecb ####Test without tables should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored ####Test with InnoDB tables DROP TABLE IF EXISTS t1; Warnings: Note 1051 Unknown table 'test.t1' CREATE TABLE t1(f1 varchar(256)); INSERT INTO t1 values(@ENCSTR); should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored ####Test with MyISAM tables DROP TABLE IF EXISTS t1; CREATE TABLE t1(f1 varchar(256)) engine=MyISAM; INSERT INTO t1 values(@ENCSTR); should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored "--------------------------------------------" ##################### Testing with mode : aes-192-ecb SET SESSION block_encryption_mode="aes-192-ecb"; SELECT @@global.block_encryption_mode; @@global.block_encryption_mode aes-128-ecb SELECT @@session.block_encryption_mode; @@session.block_encryption_mode aes-192-ecb ####Test without tables should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored ####Test with InnoDB tables DROP TABLE IF EXISTS t1; CREATE TABLE t1(f1 varchar(256)); INSERT INTO t1 values(@ENCSTR); should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored ####Test with MyISAM tables DROP TABLE IF EXISTS t1; CREATE TABLE t1(f1 varchar(256)) engine=MyISAM; INSERT INTO t1 values(@ENCSTR); should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored "--------------------------------------------" ##################### Testing with mode : aes-256-ecb SET SESSION block_encryption_mode="aes-256-ecb"; should return 1 SELECT @@global.block_encryption_mode; @@global.block_encryption_mode aes-128-ecb should return 1 SELECT @@session.block_encryption_mode; @@session.block_encryption_mode aes-256-ecb ####Test without tables should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored ####Test with InnoDB tables DROP TABLE IF EXISTS t1; CREATE TABLE t1(f1 varchar(256)); INSERT INTO t1 values(@ENCSTR); should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored ####Test with MyISAM tables DROP TABLE IF EXISTS t1; CREATE TABLE t1(f1 varchar(256)) engine=MyISAM; INSERT INTO t1 values(@ENCSTR); should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS), @KEYS)=@ENCSTR 1 should return 1 SELECT AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(AES_ENCRYPT(@ENCSTR, @KEYS, @IV), @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored Warning 1618 <IV> option ignored DROP TABLE IF EXISTS t1; "--------------------------------------------" ############################################## "Tests related to RANDOM_BYTES()" ############################################## should return 1 select LENGTH(RANDOM_BYTES(1))=1; LENGTH(RANDOM_BYTES(1))=1 1 should return 1 select LENGTH(RANDOM_BYTES(1024))=1024; LENGTH(RANDOM_BYTES(1024))=1024 1 SET @KEYS=RANDOM_BYTES(1); SET @KEYS=RANDOM_BYTES(1024); select RANDOM_BYTES(0); ERROR 22003: length value is out of range in 'random_bytes' select RANDOM_BYTES(1025); ERROR 22003: length value is out of range in 'random_bytes' ############################################## "Tests related to boundary values of IV" ############################################## SET @IV='abcdefghijklmnophelloworldworldisgreat'; SET @IV1='abcdefghijklmnopqrstuvwxyz'; SET @KEYS='helloworld'; SET @ENCSTR=REPEAT('K',100); SET @@session.block_encryption_mode = 'aes-256-cbc'; should return 1 select AES_ENCRYPT(@ENCSTR, @KEYS, @IV)=AES_ENCRYPT(@ENCSTR, @KEYS, @IV1); AES_ENCRYPT(@ENCSTR, @KEYS, @IV)=AES_ENCRYPT(@ENCSTR, @KEYS, @IV1) 1 ############################################## "Few negative tests with invalid/different keys and IV" ############################################## SET @IV='ijkl8765mnop2345'; SET @KEYS='helloworld1234567890'; SET @ENCSTR=REPEAT('J',255); SET @@session.block_encryption_mode = 'aes-128-ecb'; DROP TABLE IF EXISTS t1; Warnings: Note 1051 Unknown table 'test.t1' CREATE TABLE t1(f1 varchar(256)); INSERT INTO t1 values(AES_ENCRYPT(@ENCSTR, @KEYS, @IV)); Warnings: Warning 1618 <IV> option ignored Combination1.............. SET @@session.block_encryption_mode = 'aes-192-ecb'; should return NULL SELECT AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR NULL Warnings: Warning 1618 <IV> option ignored Combination2.............. SET @@session.block_encryption_mode = 'aes-256-ecb'; should return NULL SELECT AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR NULL Warnings: Warning 1618 <IV> option ignored Combination3.............. SET @@session.block_encryption_mode = 'aes-128-cbc'; should return 0 or NULL SELECT COALESCE (AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR,0) FROM t1; COALESCE (AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR,0) 0 Combination4.............. SET @@session.block_encryption_mode = 'aes-192-cbc'; should return NULL SELECT AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR NULL Combination5.............. SET @@session.block_encryption_mode = 'aes-256-cbc'; should return NULL SELECT AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR NULL Combination6.............. SET @@session.block_encryption_mode = 'aes-128-ecb'; should return 1 SELECT AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR FROM t1; AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR 1 Warnings: Warning 1618 <IV> option ignored SET @@session.block_encryption_mode = DEFAULT; DROP TABLE IF EXISTS t1; # # End of 5.7 tests #