Commit be622c62 authored by Geoff Simmons's avatar Geoff Simmons

Tests multi-block AES en-/decrypt with CFB and OFB modes.

parent 881aae6b
Pipeline #165 skipped
......@@ -138,6 +138,9 @@ varnish v1 -vcl {
new p2 = blobcode.blob(HEX, "ae2d8a571e03ac9c9eb76fac45af8e51");
new p3 = blobcode.blob(HEX, "30c81c46a35ce411e5fbc1191a0a52ef");
new p4 = blobcode.blob(HEX, "f69f2445df4f9b17ad2b417be66c3710");
new p = blobcode.blob(HEX,
"6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710");
new c1 = blobcode.blob(HEX, "3b3fd92eb72dad20333449f8e83cfb4a");
new aes_cfb = gcrypt.symmetric(AES, CFB, key=k.get());
......@@ -147,6 +150,9 @@ varnish v1 -vcl {
= blobcode.blob(HEX, "26751f67a3cbb140b1808cf187a4f4df");
new c_cfb4
= blobcode.blob(HEX, "c04b05357c5d1c0eeac4c66f9ff7f2e6");
new c_cfb
= blobcode.blob(HEX,
"3b3fd92eb72dad20333449f8e83cfb4ac8a64537a0b3a93fcde3cdad9f1ce58b26751f67a3cbb140b1808cf187a4f4dfc04b05357c5d1c0eeac4c66f9ff7f2e6");
new aes_ofb = gcrypt.symmetric(AES, OFB, key=k.get());
new c_ofb2
......@@ -155,6 +161,9 @@ varnish v1 -vcl {
= blobcode.blob(HEX, "9740051e9c5fecf64344f7a82260edcc");
new c_ofb4
= blobcode.blob(HEX, "304c6528f659c77866a510d9c1d6ae5e");
new c_ofb
= blobcode.blob(HEX,
"3b3fd92eb72dad20333449f8e83cfb4a7789508d16918f03f53c52dac54ed8259740051e9c5fecf64344f7a82260edcc304c6528f659c77866a510d9c1d6ae5e");
new out1
= blobcode.blob(HEX, "50fe67cc996d32b6da0937e99bafec60");
new out2
......@@ -192,6 +201,12 @@ varnish v1 -vcl {
set resp.http.cfb-plaintext-4
= blobcode.encode(HEXLC, aes_cfb.decrypt(c_cfb4.get(),
iv=c_cfb3.get()));
set resp.http.cfb-ciphertext
= blobcode.encode(HEXLC, aes_cfb.encrypt(p.get(),
iv=iv.get()));
set resp.http.cfb-plaintext
= blobcode.encode(HEXLC, aes_cfb.decrypt(c_cfb.get(),
iv=iv.get()));
set resp.http.ofb-ciphertext-1
= blobcode.encode(HEXLC, aes_ofb.encrypt(p1.get(),
......@@ -217,6 +232,12 @@ varnish v1 -vcl {
set resp.http.ofb-plaintext-4
= blobcode.encode(HEXLC, aes_ofb.decrypt(c_ofb4.get(),
iv=out3.get()));
set resp.http.ofb-ciphertext
= blobcode.encode(HEXLC, aes_ofb.encrypt(p.get(),
iv=iv.get()));
set resp.http.ofb-plaintext
= blobcode.encode(HEXLC, aes_ofb.decrypt(c_ofb.get(),
iv=iv.get()));
return(deliver);
}
}
......@@ -233,6 +254,10 @@ client c1 {
expect resp.http.cfb-plaintext-3 == "30c81c46a35ce411e5fbc1191a0a52ef"
expect resp.http.cfb-ciphertext-4 == "c04b05357c5d1c0eeac4c66f9ff7f2e6"
expect resp.http.cfb-plaintext-4 == "f69f2445df4f9b17ad2b417be66c3710"
expect resp.http.cfb-ciphertext-4 == "c04b05357c5d1c0eeac4c66f9ff7f2e6"
expect resp.http.cfb-plaintext-4 == "f69f2445df4f9b17ad2b417be66c3710"
expect resp.http.cfb-ciphertext == "3b3fd92eb72dad20333449f8e83cfb4ac8a64537a0b3a93fcde3cdad9f1ce58b26751f67a3cbb140b1808cf187a4f4dfc04b05357c5d1c0eeac4c66f9ff7f2e6"
expect resp.http.cfb-plaintext == "6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710"
expect resp.http.ofb-ciphertext-1 == resp.http.cfb-ciphertext-1
expect resp.http.ofb-plaintext-1 == resp.http.cfb-plaintext-1
......@@ -242,6 +267,10 @@ client c1 {
expect resp.http.ofb-plaintext-3 == resp.http.cfb-plaintext-3
expect resp.http.ofb-ciphertext-4 == "304c6528f659c77866a510d9c1d6ae5e"
expect resp.http.ofb-plaintext-4 == resp.http.cfb-plaintext-4
expect resp.http.ofb-ciphertext-4 == "304c6528f659c77866a510d9c1d6ae5e"
expect resp.http.ofb-plaintext-4 == resp.http.cfb-plaintext-4
expect resp.http.ofb-ciphertext == "3b3fd92eb72dad20333449f8e83cfb4a7789508d16918f03f53c52dac54ed8259740051e9c5fecf64344f7a82260edcc304c6528f659c77866a510d9c1d6ae5e"
expect resp.http.ofb-plaintext == resp.http.cfb-plaintext
} -run
# from check_aes128_cbc_cts_cipher() in libgcrypt tests/basic.c
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment