summaryrefslogtreecommitdiff
path: root/nss/cmd/bltest/tests/aes_gcm
diff options
context:
space:
mode:
Diffstat (limited to 'nss/cmd/bltest/tests/aes_gcm')
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad00
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad10
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad101
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad111
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad120
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad130
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad140
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad151
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad161
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad171
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad20
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad41
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad51
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad60
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad70
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad80
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/aad91
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext01
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext11
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext102
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext112
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext121
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext131
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext142
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext152
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext162
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext172
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext22
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext32
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext42
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext52
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext61
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext71
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext82
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/ciphertext92
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/hex.c68
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv0bin0 -> 12 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv1bin0 -> 12 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv101
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv111
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv12bin0 -> 12 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv13bin0 -> 12 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv141
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv151
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv161
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv171
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv21
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv41
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv51
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv6bin0 -> 12 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv7bin0 -> 12 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv81
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/iv91
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key0bin0 -> 16 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key1bin0 -> 16 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key101
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key111
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key12bin0 -> 32 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key13bin0 -> 32 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key141
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key151
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key161
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key171
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key21
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key41
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key51
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key6bin0 -> 24 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key7bin0 -> 24 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key81
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/key91
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/mktst.sh13
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/numtests1
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext00
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext1bin0 -> 16 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext101
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext111
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext120
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext13bin0 -> 16 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext141
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext151
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext161
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext171
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext21
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext41
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext51
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext60
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext7bin0 -> 16 bytes
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext81
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/plaintext91
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test0.txt11
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test1.txt14
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test10.txt28
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test11.txt31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test12.txt11
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test13.txt14
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test14.txt23
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test15.txt26
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test16.txt28
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test17.txt31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test2.txt23
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test3.txt26
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test4.txt28
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test5.txt31
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test6.txt11
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test7.txt14
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test8.txt23
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test9.txt26
-rw-r--r--nss/cmd/bltest/tests/aes_gcm/test_source.txt439
112 files changed, 995 insertions, 0 deletions
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad0 b/nss/cmd/bltest/tests/aes_gcm/aad0
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad0
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad1 b/nss/cmd/bltest/tests/aes_gcm/aad1
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad1
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad10 b/nss/cmd/bltest/tests/aes_gcm/aad10
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad10
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad11 b/nss/cmd/bltest/tests/aes_gcm/aad11
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad11
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad12 b/nss/cmd/bltest/tests/aes_gcm/aad12
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad12
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad13 b/nss/cmd/bltest/tests/aes_gcm/aad13
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad13
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad14 b/nss/cmd/bltest/tests/aes_gcm/aad14
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad14
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad15 b/nss/cmd/bltest/tests/aes_gcm/aad15
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad15
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad16 b/nss/cmd/bltest/tests/aes_gcm/aad16
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad16
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad17 b/nss/cmd/bltest/tests/aes_gcm/aad17
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad17
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad2 b/nss/cmd/bltest/tests/aes_gcm/aad2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad2
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad3 b/nss/cmd/bltest/tests/aes_gcm/aad3
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad3
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad4 b/nss/cmd/bltest/tests/aes_gcm/aad4
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad4
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad5 b/nss/cmd/bltest/tests/aes_gcm/aad5
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad5
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad6 b/nss/cmd/bltest/tests/aes_gcm/aad6
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad6
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad7 b/nss/cmd/bltest/tests/aes_gcm/aad7
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad7
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad8 b/nss/cmd/bltest/tests/aes_gcm/aad8
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad8
diff --git a/nss/cmd/bltest/tests/aes_gcm/aad9 b/nss/cmd/bltest/tests/aes_gcm/aad9
new file mode 100644
index 0000000..87b29d3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/aad9
@@ -0,0 +1 @@
+þíúÎÞ­¾ïþíúÎÞ­¾ï«­ÚÒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext0 b/nss/cmd/bltest/tests/aes_gcm/ciphertext0
new file mode 100644
index 0000000..3b35214
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext0
@@ -0,0 +1 @@
+WOL8zvp+MGE2fx1XpOdFWg==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext1 b/nss/cmd/bltest/tests/aes_gcm/ciphertext1
new file mode 100644
index 0000000..9913ff1
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext1
@@ -0,0 +1 @@
+A4jazmC2o5LzKMK5cbL+eKtuR9Qs7BO99TpnshJXvd8=
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext10 b/nss/cmd/bltest/tests/aes_gcm/ciphertext10
new file mode 100644
index 0000000..70cb471
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext10
@@ -0,0 +1,2 @@
+DxD1ma4UoVTtJLNuJTJNuMVmYy7yu7NPg0coD8RQcFf93CnfmkcfdcZlQdTU2tHJ
+6ToZpY6LRz+g8GL3ZdzFf89iOiQJT8ykDTUz+A==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext11 b/nss/cmd/bltest/tests/aes_gcm/ciphertext11
new file mode 100644
index 0000000..b9c4236
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext11
@@ -0,0 +1,2 @@
+0n6IaBzjJDxIMBZaj9z5/x3podjmtEfvbve3mChmbkWB55ASrzTd2eLwN1ibKS2z
+5nwDZ0X6Iufptzc73PVm/ykcJbu4Vo/D03am2Q==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext12 b/nss/cmd/bltest/tests/aes_gcm/ciphertext12
new file mode 100644
index 0000000..b756f5c
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext12
@@ -0,0 +1 @@
+Uw+K+8dFNrmpY7TxxMtziw==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext13 b/nss/cmd/bltest/tests/aes_gcm/ciphertext13
new file mode 100644
index 0000000..15bc5e1
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext13
@@ -0,0 +1 @@
+zqdAPU1ga24HTsXTuvOdGNDRyKeZmWvwJluYtdSKuRk=
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext14 b/nss/cmd/bltest/tests/aes_gcm/ciphertext14
new file mode 100644
index 0000000..a982ef2
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext14
@@ -0,0 +1,2 @@
+Ui3B8JlWfQf0fzejKoRCfWQ6jNy/5cDJdZiivSVV0aqMsI5IWQ27PaewixBWgog4
+xfYeY5O6egq8yfZiiYAVrbCU2sXZNHG97BpQInDjzGw=
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext15 b/nss/cmd/bltest/tests/aes_gcm/ciphertext15
new file mode 100644
index 0000000..5f5b952
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext15
@@ -0,0 +1,2 @@
+Ui3B8JlWfQf0fzejKoRCfWQ6jNy/5cDJdZiivSVV0aqMsI5IWQ27PaewixBWgog4
+xfYeY5O6egq8yfZidvxuzg9OF2jN34hTuy1VGw==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext16 b/nss/cmd/bltest/tests/aes_gcm/ciphertext16
new file mode 100644
index 0000000..86d9096
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext16
@@ -0,0 +1,2 @@
+w3Yt8cp4fTKuR8E78ZhEy68a4U0Ll2r6xS/315u6neD+tYLTOTSk8JVMwjY7xz94
+YqxDDmSr5Jn0fJsfOjN9v0anksReRUkT/i6o8g==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext17 b/nss/cmd/bltest/tests/aes_gcm/ciphertext17
new file mode 100644
index 0000000..6be2346
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext17
@@ -0,0 +1,2 @@
+Wo3vLwyeU/H3XXhTZZ4qIO6ysiqv3mQZoFirT290a/QPwMO3gPJERS2j6/HF2Cze
+okGJlyAO+C5Ern4/pEqCZu4cjrDItdTPWunxmg==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext2 b/nss/cmd/bltest/tests/aes_gcm/ciphertext2
new file mode 100644
index 0000000..f5efb3d
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext2
@@ -0,0 +1,2 @@
+QoMewiF3dCRLciG3hNDUnOOqIS8sAqTgNcF+IymsoS4h1RSyVGaTHH2PalqshKoF
+G6MLOWoKrJc9WOCRRz9ZhU1cKvMnzWSmLPNavSum+rQ=
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext3 b/nss/cmd/bltest/tests/aes_gcm/ciphertext3
new file mode 100644
index 0000000..80fe95e
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext3
@@ -0,0 +1,2 @@
+QoMewiF3dCRLciG3hNDUnOOqIS8sAqTgNcF+IymsoS4h1RSyVGaTHH2PalqshKoF
+G6MLOWoKrJc9WOCRW8lPvDIhpduU+ula5xIaRw==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext4 b/nss/cmd/bltest/tests/aes_gcm/ciphertext4
new file mode 100644
index 0000000..cbc0194
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext4
@@ -0,0 +1,2 @@
+YTU7TCgGk0p3f/UfoipHVWmbKnFPzcb4N2bl+XtsdCNzgGkA5J8ksisJdUTUiWtC
+SYm14eusDwfCP0WYNhLS5547B4VWG+FKrKL8yw==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext5 b/nss/cmd/bltest/tests/aes_gcm/ciphertext5
new file mode 100644
index 0000000..77127ff
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext5
@@ -0,0 +1,2 @@
+jOJJmGJWFbYDoDOsoT+4lL6REqXDohGouiYqPMp+LKcB5Kmk+6Q8kMzcsoHUjHxv
+1ih10qykFwNMNK7lYZzFrv/+C/pGKvQ8FpnQUA==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext6 b/nss/cmd/bltest/tests/aes_gcm/ciphertext6
new file mode 100644
index 0000000..dc07bfd
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext6
@@ -0,0 +1 @@
+zTOyisdz90ugDtHzElckNQ==
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext7 b/nss/cmd/bltest/tests/aes_gcm/ciphertext7
new file mode 100644
index 0000000..d405c82
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext7
@@ -0,0 +1 @@
+mOckfAfw/kEcJn5DhLD2AC/1jYADOSerjvTUWHUU8Ps=
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext8 b/nss/cmd/bltest/tests/aes_gcm/ciphertext8
new file mode 100644
index 0000000..53738bb
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext8
@@ -0,0 +1,2 @@
+OYDKCzwA6EHrBvrEhyonV4WeHOqm79mEYoWTtAyh4Zx9dz0AwUTFJaxhnRjISj9H
+GOJEiy/jJNnM2icQrK3iVpkkp8hYcza/sRgCTbhnShQ=
diff --git a/nss/cmd/bltest/tests/aes_gcm/ciphertext9 b/nss/cmd/bltest/tests/aes_gcm/ciphertext9
new file mode 100644
index 0000000..bde2785
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/ciphertext9
@@ -0,0 +1,2 @@
+OYDKCzwA6EHrBvrEhyonV4WeHOqm79mEYoWTtAyh4Zx9dz0AwUTFJaxhnRjISj9H
+GOJEiy/jJNnM2icQJRlJjoDxR483ulW9bSdhjA==
diff --git a/nss/cmd/bltest/tests/aes_gcm/hex.c b/nss/cmd/bltest/tests/aes_gcm/hex.c
new file mode 100644
index 0000000..6ad2851
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/hex.c
@@ -0,0 +1,68 @@
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int tohex(int c)
+{
+ if ((c >= '0') && (c <= '9')) {
+ return c - '0';
+ }
+ if ((c >= 'a') && (c <= 'f')) {
+ return c - 'a' + 10;
+ }
+ if ((c >= 'A') && (c <= 'F')) {
+ return c - 'A' + 10;
+ }
+ return 0;
+}
+
+int isspace(int c)
+{
+ if (c <= ' ') return 1;
+ if (c == '\n') return 1;
+ if (c == '\t') return 1;
+ if (c == ':') return 1;
+ if (c == ';') return 1;
+ if (c == ',') return 1;
+ return 0;
+}
+
+void verify_nibble(int nibble, int current)
+{
+ if (nibble != 0) {
+ fprintf(stderr,"count mismatch %d (nibbles=0x%x)\n",nibble,current);
+ fflush(stderr);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ int c;
+ int current = 0;
+ int nibble = 0;
+ int skip = 0;
+
+ if (argv[1]) {
+ skip = atoi(argv[1]);
+ }
+
+#define NIBBLE_COUNT 2
+ while ((c=getchar()) != EOF) {
+ if (isspace(c)) {
+ verify_nibble(nibble,current);
+ continue;
+ }
+ if (skip) {
+ skip--;
+ continue;
+ }
+ current = current << 4 | tohex(c);
+ nibble++;
+ if (nibble == NIBBLE_COUNT) {
+ putchar(current);
+ nibble = 0;
+ current = 0;
+ }
+ }
+ return 0;
+}
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv0 b/nss/cmd/bltest/tests/aes_gcm/iv0
new file mode 100644
index 0000000..ce58bc9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv0
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv1 b/nss/cmd/bltest/tests/aes_gcm/iv1
new file mode 100644
index 0000000..ce58bc9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv1
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv10 b/nss/cmd/bltest/tests/aes_gcm/iv10
new file mode 100644
index 0000000..bad60b0
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv10
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv11 b/nss/cmd/bltest/tests/aes_gcm/iv11
new file mode 100644
index 0000000..f446641
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv11
@@ -0,0 +1 @@
+“"]ø„åUœZÿRiªjz•8SO}¡äÃÒ£§(ÃÀÉQV€•9üðâBškRT®Ûõ ÞjW¦7³› \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv12 b/nss/cmd/bltest/tests/aes_gcm/iv12
new file mode 100644
index 0000000..ce58bc9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv12
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv13 b/nss/cmd/bltest/tests/aes_gcm/iv13
new file mode 100644
index 0000000..ce58bc9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv13
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv14 b/nss/cmd/bltest/tests/aes_gcm/iv14
new file mode 100644
index 0000000..e3728f7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv14
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ÞÊøˆ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv15 b/nss/cmd/bltest/tests/aes_gcm/iv15
new file mode 100644
index 0000000..e3728f7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv15
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ÞÊøˆ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv16 b/nss/cmd/bltest/tests/aes_gcm/iv16
new file mode 100644
index 0000000..bad60b0
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv16
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv17 b/nss/cmd/bltest/tests/aes_gcm/iv17
new file mode 100644
index 0000000..f446641
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv17
@@ -0,0 +1 @@
+“"]ø„åUœZÿRiªjz•8SO}¡äÃÒ£§(ÃÀÉQV€•9üðâBškRT®Ûõ ÞjW¦7³› \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv2 b/nss/cmd/bltest/tests/aes_gcm/iv2
new file mode 100644
index 0000000..e3728f7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv2
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ÞÊøˆ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv3 b/nss/cmd/bltest/tests/aes_gcm/iv3
new file mode 100644
index 0000000..e3728f7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv3
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ÞÊøˆ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv4 b/nss/cmd/bltest/tests/aes_gcm/iv4
new file mode 100644
index 0000000..bad60b0
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv4
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv5 b/nss/cmd/bltest/tests/aes_gcm/iv5
new file mode 100644
index 0000000..f446641
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv5
@@ -0,0 +1 @@
+“"]ø„åUœZÿRiªjz•8SO}¡äÃÒ£§(ÃÀÉQV€•9üðâBškRT®Ûõ ÞjW¦7³› \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv6 b/nss/cmd/bltest/tests/aes_gcm/iv6
new file mode 100644
index 0000000..ce58bc9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv6
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv7 b/nss/cmd/bltest/tests/aes_gcm/iv7
new file mode 100644
index 0000000..ce58bc9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv7
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv8 b/nss/cmd/bltest/tests/aes_gcm/iv8
new file mode 100644
index 0000000..e3728f7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv8
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ÞÊøˆ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/iv9 b/nss/cmd/bltest/tests/aes_gcm/iv9
new file mode 100644
index 0000000..e3728f7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/iv9
@@ -0,0 +1 @@
+Êþº¾úÎÛ­ÞÊøˆ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key0 b/nss/cmd/bltest/tests/aes_gcm/key0
new file mode 100644
index 0000000..01d633b
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key0
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/key1 b/nss/cmd/bltest/tests/aes_gcm/key1
new file mode 100644
index 0000000..01d633b
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key1
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/key10 b/nss/cmd/bltest/tests/aes_gcm/key10
new file mode 100644
index 0000000..222b4b5
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key10
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†es \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key11 b/nss/cmd/bltest/tests/aes_gcm/key11
new file mode 100644
index 0000000..222b4b5
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key11
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†es \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key12 b/nss/cmd/bltest/tests/aes_gcm/key12
new file mode 100644
index 0000000..4e4e493
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key12
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/key13 b/nss/cmd/bltest/tests/aes_gcm/key13
new file mode 100644
index 0000000..4e4e493
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key13
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/key14 b/nss/cmd/bltest/tests/aes_gcm/key14
new file mode 100644
index 0000000..2163baf
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key14
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key15 b/nss/cmd/bltest/tests/aes_gcm/key15
new file mode 100644
index 0000000..2163baf
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key15
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key16 b/nss/cmd/bltest/tests/aes_gcm/key16
new file mode 100644
index 0000000..2163baf
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key16
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key17 b/nss/cmd/bltest/tests/aes_gcm/key17
new file mode 100644
index 0000000..2163baf
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key17
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key2 b/nss/cmd/bltest/tests/aes_gcm/key2
new file mode 100644
index 0000000..767ebda
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key2
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key3 b/nss/cmd/bltest/tests/aes_gcm/key3
new file mode 100644
index 0000000..767ebda
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key3
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key4 b/nss/cmd/bltest/tests/aes_gcm/key4
new file mode 100644
index 0000000..767ebda
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key4
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key5 b/nss/cmd/bltest/tests/aes_gcm/key5
new file mode 100644
index 0000000..767ebda
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key5
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒ \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key6 b/nss/cmd/bltest/tests/aes_gcm/key6
new file mode 100644
index 0000000..4ac5fc6
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key6
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/key7 b/nss/cmd/bltest/tests/aes_gcm/key7
new file mode 100644
index 0000000..4ac5fc6
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key7
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/key8 b/nss/cmd/bltest/tests/aes_gcm/key8
new file mode 100644
index 0000000..222b4b5
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key8
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†es \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/key9 b/nss/cmd/bltest/tests/aes_gcm/key9
new file mode 100644
index 0000000..222b4b5
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/key9
@@ -0,0 +1 @@
+þÿé’†esmj”g0ƒþÿé’†es \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/mktst.sh b/nss/cmd/bltest/tests/aes_gcm/mktst.sh
new file mode 100644
index 0000000..a990f51
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/mktst.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+do
+ file="test$i.txt"
+ grep K= $file | sed -e 's;K=;;' | hex > key$i
+ grep IV= $file | sed -e 's;IV=;;' | hex > iv$i
+ grep "C=" $file | sed -e 's;C=;;' | hex > ciphertext$i.bin
+ grep "P=" $file | sed -e 's;P=;;' | hex > plaintext$i
+ grep "A=" $file | sed -e 's;A=;;' | hex > aad$i
+ grep "T=" $file | sed -e 's;T=;;' | hex >> ciphertext$i.bin
+ btoa < ciphertext$i.bin > ciphertext$i
+ rm ciphertext$i.bin
+done
diff --git a/nss/cmd/bltest/tests/aes_gcm/numtests b/nss/cmd/bltest/tests/aes_gcm/numtests
new file mode 100644
index 0000000..3c03207
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/numtests
@@ -0,0 +1 @@
+18
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext0 b/nss/cmd/bltest/tests/aes_gcm/plaintext0
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext0
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext1 b/nss/cmd/bltest/tests/aes_gcm/plaintext1
new file mode 100644
index 0000000..01d633b
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext1
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext10 b/nss/cmd/bltest/tests/aes_gcm/plaintext10
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext10
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext11 b/nss/cmd/bltest/tests/aes_gcm/plaintext11
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext11
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext12 b/nss/cmd/bltest/tests/aes_gcm/plaintext12
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext12
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext13 b/nss/cmd/bltest/tests/aes_gcm/plaintext13
new file mode 100644
index 0000000..01d633b
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext13
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext14 b/nss/cmd/bltest/tests/aes_gcm/plaintext14
new file mode 100644
index 0000000..664f6c9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext14
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9¯ÒU \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext15 b/nss/cmd/bltest/tests/aes_gcm/plaintext15
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext15
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext16 b/nss/cmd/bltest/tests/aes_gcm/plaintext16
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext16
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext17 b/nss/cmd/bltest/tests/aes_gcm/plaintext17
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext17
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext2 b/nss/cmd/bltest/tests/aes_gcm/plaintext2
new file mode 100644
index 0000000..664f6c9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext2
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9¯ÒU \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext3 b/nss/cmd/bltest/tests/aes_gcm/plaintext3
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext3
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext4 b/nss/cmd/bltest/tests/aes_gcm/plaintext4
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext4
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext5 b/nss/cmd/bltest/tests/aes_gcm/plaintext5
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext5
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext6 b/nss/cmd/bltest/tests/aes_gcm/plaintext6
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext6
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext7 b/nss/cmd/bltest/tests/aes_gcm/plaintext7
new file mode 100644
index 0000000..01d633b
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext7
Binary files differ
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext8 b/nss/cmd/bltest/tests/aes_gcm/plaintext8
new file mode 100644
index 0000000..664f6c9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext8
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9¯ÒU \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/plaintext9 b/nss/cmd/bltest/tests/aes_gcm/plaintext9
new file mode 100644
index 0000000..0050587
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/plaintext9
@@ -0,0 +1 @@
+Ù12%ø„å¥Y ůõ&š†§©S4÷Ú.L0=Š1Šr< ••h S/Ï$I¦µ%±jíõª æWºc{9 \ No newline at end of file
diff --git a/nss/cmd/bltest/tests/aes_gcm/test0.txt b/nss/cmd/bltest/tests/aes_gcm/test0.txt
new file mode 100644
index 0000000..a8bd4e1
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test0.txt
@@ -0,0 +1,11 @@
+test="Test Case 1"
+K=00000000000000000000000000000000
+P=
+IV=000000000000000000000000
+H=66e94bd4ef8a2c3b884cfa59ca342b2e
+Y0=00000000000000000000000000000001
+E(K,Y0)=58e2fccefa7e3061367f1d57a4e7455a
+len(A)||len(C)=00000000000000000000000000000000
+GHASH(H,A,C)=00000000000000000000000000000000
+C=
+T=58e2fccefa7e3061367f1d57a4e7455a
diff --git a/nss/cmd/bltest/tests/aes_gcm/test1.txt b/nss/cmd/bltest/tests/aes_gcm/test1.txt
new file mode 100644
index 0000000..7bb83ce
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test1.txt
@@ -0,0 +1,14 @@
+test="Test Case 2"
+K=00000000000000000000000000000000
+P=00000000000000000000000000000000
+IV=000000000000000000000000
+H=66e94bd4ef8a2c3b884cfa59ca342b2e
+Y0=00000000000000000000000000000001
+E(K,Y0)=58e2fccefa7e3061367f1d57a4e7455a
+Y1=00000000000000000000000000000002
+E(K,Y1)=0388dace60b6a392f328c2b971b2fe78
+X1 5e2ec746917062882c85b0685353deb7
+len(A)||len(C)=00000000000000000000000000000080
+GHASH(H,A,C)=f38cbb1ad69223dcc3457ae5b6b0f885
+C=0388dace60b6a392f328c2b971b2fe78
+T=ab6e47d42cec13bdf53a67b21257bddf
diff --git a/nss/cmd/bltest/tests/aes_gcm/test10.txt b/nss/cmd/bltest/tests/aes_gcm/test10.txt
new file mode 100644
index 0000000..2a4a5a9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test10.txt
@@ -0,0 +1,28 @@
+test="Test Case 11"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbad
+H=466923ec9ae682214f2c082badb39249
+N1=9473c07b02544299cf007c42c5778218
+len({})||len(IV)=00000000000000000000000000000040
+Y0=a14378078d27258a6292737e1802ada5
+E(K,Y0)=7bb6d647c902427ce7cf26563a337371
+X1=f3bf7ba3e305aeb05ed0d2e4fe076666
+X2=20a51fa2302e9c01b87c48f2c3d91a56
+Y1=a14378078d27258a6292737e1802ada6
+E(K,Y1)=d621c7bc5690a7b1487dbaab8ac76b22
+Y2=a14378078d27258a6292737e1802ada7
+E(K,Y2)=43c1ca7de78f4495ad0b18324e61fa25
+Y3=a14378078d27258a6292737e1802ada8
+E(K,Y3)=e1e0254a0f2f1626e9aa4ff09d7c64ec
+Y4=a14378078d27258a6292737e1802ada9
+E(K,Y4)=5850f4502486a1681a9319ce7d0afa59
+X3=8bdedafd6ee8e529689de3a269b8240d
+X4=6607feb377b49c9ecdbc696344fe22d8
+X5=8a19570a06500ba9405fcece4a73fb48
+X6=8532826e63ce4a5b89b70fa28f8070fe
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=1e6a133806607858ee80eaf237064089
+C=0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7
+T=65dcc57fcf623a24094fcca40d3533f8
diff --git a/nss/cmd/bltest/tests/aes_gcm/test11.txt b/nss/cmd/bltest/tests/aes_gcm/test11.txt
new file mode 100644
index 0000000..d46e6f9
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test11.txt
@@ -0,0 +1,31 @@
+test="Test Case 12"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
+H=466923ec9ae682214f2c082badb39249
+N1=19aef0f04763b0c87903c5a217d5314f
+N2=62120253f79efc978625d1feb03b5b5b
+N3=b6ce2a84e366de900fa78a1653df77fb
+N4=374ecad90487f0bb261ba817447e022c
+len({})||len(IV)=000000000000000000000000000001e0
+Y0=4505cdc367a054c5002820e96aebef27
+E(K,Y0)=5ea3194f9dd012a3b9bc5103d6e0284d
+X1=f3bf7ba3e305aeb05ed0d2e4fe076666
+X2=20a51fa2302e9c01b87c48f2c3d91a56
+Y1=4505cdc367a054c5002820e96aebef28
+E(K,Y1)=0b4fba4de46722d9ed691f9f2029df65
+Y2=4505cdc367a054c5002820e96aebef29
+E(K,Y2)=9b4e088bf380b03540bb87a5a257e437
+Y3=4505cdc367a054c5002820e96aebef2a
+E(K,Y3)=9ddb9c873a5cd48acd3f397cd28f9896
+Y4=4505cdc367a054c5002820e96aebef2b
+E(K,Y4)=5716ee92eff7c4b053d44c0294ea88cd
+X3=f70d61693ea7f53f08c866d6eedb1e4b
+X4=dc40bc9a181b35aed66488071ef282ae
+X5=85ffa424b87b35cac7be9c450f0d7aee
+X6=65233cbe5251f7d246bfc967a8678647
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=82567fb0b4cc371801eadec005968e94
+C=d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b
+T=dcf566ff291c25bbb8568fc3d376a6d9
diff --git a/nss/cmd/bltest/tests/aes_gcm/test12.txt b/nss/cmd/bltest/tests/aes_gcm/test12.txt
new file mode 100644
index 0000000..b9ccfa8
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test12.txt
@@ -0,0 +1,11 @@
+test="Test Case 13"
+K=0000000000000000000000000000000000000000000000000000000000000000
+P=
+IV=000000000000000000000000
+H=dc95c078a2408989ad48a21492842087
+Y0=00000000000000000000000000000001
+E(K,Y0)=530f8afbc74536b9a963b4f1c4cb738b
+len(A)||len(C)=00000000000000000000000000000000
+GHASH(H,A,C)=00000000000000000000000000000000
+C=
+T=530f8afbc74536b9a963b4f1c4cb738b
diff --git a/nss/cmd/bltest/tests/aes_gcm/test13.txt b/nss/cmd/bltest/tests/aes_gcm/test13.txt
new file mode 100644
index 0000000..b589ba4
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test13.txt
@@ -0,0 +1,14 @@
+test="Test Case 14"
+K=0000000000000000000000000000000000000000000000000000000000000000
+P=00000000000000000000000000000000
+IV=000000000000000000000000
+H=dc95c078a2408989ad48a21492842087
+Y0=00000000000000000000000000000001
+E(K,Y0)=530f8afbc74536b9a963b4f1c4cb738b
+Y1=00000000000000000000000000000002
+E(K,Y1)=cea7403d4d606b6e074ec5d3baf39d18
+X1=fd6ab7586e556dba06d69cfe6223b262
+len(A)||len(C)=00000000000000000000000000000080
+GHASH(H,A,C)=83de425c5edc5d498f382c441041ca92
+C=cea7403d4d606b6e074ec5d3baf39d18
+T=d0d1c8a799996bf0265b98b5d48ab919
diff --git a/nss/cmd/bltest/tests/aes_gcm/test14.txt b/nss/cmd/bltest/tests/aes_gcm/test14.txt
new file mode 100644
index 0000000..f650ea7
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test14.txt
@@ -0,0 +1,23 @@
+test="Test Case 15"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
+IV=cafebabefacedbaddecaf888
+H=acbef20579b4b8ebce889bac8732dad7
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=fd2caa16a5832e76aa132c1453eeda7e
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=8b1cf3d561d27be251263e66857164e7
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=e29d258faad137135bd49280af645bd8
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=908c82ddcc65b26e887f85341f243d1d
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=749cf39639b79c5d06aa8d5b932fc7f8
+X1=fcbefb78635d598eddaf982310670f35
+X2=29de812309d3116a6eff7ec844484f3e
+X3=45fad9deeda9ea561b8f199c3613845b
+X4=ed95f8e164bf3213febc740f0bd9c6af
+len(A)||len(C)=00000000000000000000000000000200
+GHASH(H,A,C)=4db870d37cb75fcb46097c36230d1612
+C=522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad
+T=b094dac5d93471bdec1a502270e3cc6c
diff --git a/nss/cmd/bltest/tests/aes_gcm/test15.txt b/nss/cmd/bltest/tests/aes_gcm/test15.txt
new file mode 100644
index 0000000..f1a49e3
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test15.txt
@@ -0,0 +1,26 @@
+test="Test Case 16"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbaddecaf888
+H=acbef20579b4b8ebce889bac8732dad7
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=fd2caa16a5832e76aa132c1453eeda7e
+X1=5165d242c2592c0a6375e2622cf925d2
+X2=8efa30ce83298b85fe71abefc0cdd01d
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=8b1cf3d561d27be251263e66857164e7
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=e29d258faad137135bd49280af645bd8
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=908c82ddcc65b26e887f85341f243d1d
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=749cf39639b79c5d06aa8d5b932fc7f8
+X3=abe07e0bb62354177480b550f9f6cdcc
+X4=3978e4f141b95f3b4699756b1c3c2082
+X5=8abf3c48901debe76837d8a05c7d6e87
+X6=9249beaf520c48b912fa120bbf391dc8
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=8bd0c4d8aacd391e67cca447e8c38f65
+C=522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662
+T=76fc6ece0f4e1768cddf8853bb2d551b
diff --git a/nss/cmd/bltest/tests/aes_gcm/test16.txt b/nss/cmd/bltest/tests/aes_gcm/test16.txt
new file mode 100644
index 0000000..6918aca
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test16.txt
@@ -0,0 +1,28 @@
+test="Test Case 17"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbad
+H=acbef20579b4b8ebce889bac8732dad7
+N1=90c22e3d2aca34b971e8bd09708fae5c
+len({})||len(IV)=00000000000000000000000000000040
+Y0=0095df49dd90abe3e4d252475748f5d4
+E(K,Y0)=4f903f37fe611d454217fbfa5cd7d791
+X1=5165d242c2592c0a6375e2622cf925d2
+X2=8efa30ce83298b85fe71abefc0cdd01d
+Y1=0095df49dd90abe3e4d252475748f5d5
+E(K,Y1)=1a471fd432fc7bd70b1ec8fe5e6d6251
+Y2=0095df49dd90abe3e4d252475748f5d6
+E(K,Y2)=29bd481e1ea39d20eb63c7ea118b1792
+Y3=0095df49dd90abe3e4d252475748f5d7
+E(K,Y3)=e2898e46ac5cada3ba83cc1272618a5d
+Y4=0095df49dd90abe3e4d252475748f5d8
+E(K,Y4)=d3c6aefbcea602ce4e1fe026065447bf
+X3=55e1ff68f9249e64b95223858e5cb936
+X4=cef1c034383dc96f733aaa4c99bd3e61
+X5=68588d004fd468f5854515039b08165d
+X6=2378943c034697f72a80fce5059bf3f3
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=75a34288b8c68f811c52b2e9a2f97f63
+C=c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f
+T=3a337dbf46a792c45e454913fe2ea8f2
diff --git a/nss/cmd/bltest/tests/aes_gcm/test17.txt b/nss/cmd/bltest/tests/aes_gcm/test17.txt
new file mode 100644
index 0000000..a5c538e
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test17.txt
@@ -0,0 +1,31 @@
+test="Test Case 18"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
+H=acbef20579b4b8ebce889bac8732dad7
+N1=0bfe66e2032f195516379f5fb710f987
+N2=f0631554d11409915feec8f9f5102aba
+N3=749b90dda19a1557fd9e9fd31fed1d14
+N4=7a6a833f260d848793b327cb07d1b190
+len({})||len(IV)=000000000000000000000000000001e0
+Y0=0cd953e2140a5976079f8e2406bc8eb4
+E(K,Y0)=71b54d092bb0c3d9ba94538d4096e691
+X1=5165d242c2592c0a6375e2622cf925d2
+X2=8efa30ce83298b85fe71abefc0cdd01d
+Y1=0cd953e2140a5976079f8e2406bc8eb5
+E(K,Y1)=83bcdd0af41a551452047196ca6b0cba
+Y2=0cd953e2140a5976079f8e2406bc8eb6
+E(K,Y2)=68151b79baea93c38e149b72e545e186
+Y3=0cd953e2140a5976079f8e2406bc8eb7
+E(K,Y3)=13fccf22159a4d16026ce5d58c7e99fb
+Y4=0cd953e2140a5976079f8e2406bc8eb8
+E(K,Y4)=132b64628a031e79fecd050675a64f07
+X3=e963941cfa8c417bdaa3b3d94ab4e905
+X4=2178d7f836e5fa105ce0fdf0fc8f0654
+X5=bac14eeba3216f966b3e7e011475b832
+X6=cc9ae9175729a649936e890bd971a8bf
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=d5ffcf6fc5ac4d69722187421a7f170b
+C=5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f
+T=a44a8266ee1c8eb0c8b5d4cf5ae9f19a
diff --git a/nss/cmd/bltest/tests/aes_gcm/test2.txt b/nss/cmd/bltest/tests/aes_gcm/test2.txt
new file mode 100644
index 0000000..8e69bf6
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test2.txt
@@ -0,0 +1,23 @@
+test="Test Case 3"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
+IV=cafebabefacedbaddecaf888
+H=b83b533708bf535d0aa6e52980d53b78
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=3247184b3c4f69a44dbcd22887bbb418
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=9bb22ce7d9f372c1ee2b28722b25f206
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=650d887c3936533a1b8d4e1ea39d2b5c
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=3de91827c10e9a4f5240647ee5221f20
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=aac9e6ccc0074ac0873b9ba85d908bd0
+X1=59ed3f2bb1a0aaa07c9f56c6a504647b
+X2=b714c9048389afd9f9bc5c1d4378e052
+X3=47400c6577b1ee8d8f40b2721e86ff10
+X4=4796cf49464704b5dd91f159bb1b7f95
+len(A)||len(C)=00000000000000000000000000000200
+GHASH(H,A,C)=7f1b32b81b820d02614f8895ac1d4eac
+C=42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985
+T=4d5c2af327cd64a62cf35abd2ba6fab4
diff --git a/nss/cmd/bltest/tests/aes_gcm/test3.txt b/nss/cmd/bltest/tests/aes_gcm/test3.txt
new file mode 100644
index 0000000..4083eac
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test3.txt
@@ -0,0 +1,26 @@
+test="Test Case 4"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbaddecaf888
+H=b83b533708bf535d0aa6e52980d53b78
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=3247184b3c4f69a44dbcd22887bbb418
+X1=ed56aaf8a72d67049fdb9228edba1322
+X2=cd47221ccef0554ee4bb044c88150352
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=9bb22ce7d9f372c1ee2b28722b25f206
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=650d887c3936533a1b8d4e1ea39d2b5c
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=3de91827c10e9a4f5240647ee5221f20
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=aac9e6ccc0074ac0873b9ba85d908bd0
+X3=54f5e1b2b5a8f9525c23924751a3ca51
+X4=324f585c6ffc1359ab371565d6c45f93
+X5=ca7dd446af4aa70cc3c0cd5abba6aa1c
+X6=1590df9b2eb6768289e57d56274c8570
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=698e57f70e6ecc7fd9463b7260a9ae5f
+C=42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091
+T=5bc94fbc3221a5db94fae95ae7121a47
diff --git a/nss/cmd/bltest/tests/aes_gcm/test4.txt b/nss/cmd/bltest/tests/aes_gcm/test4.txt
new file mode 100644
index 0000000..ec62258
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test4.txt
@@ -0,0 +1,28 @@
+test="Test Case 5"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbad
+H=b83b533708bf535d0aa6e52980d53b78
+N1=6f288b846e5fed9a18376829c86a6a16
+len({})||len(C)=00000000000000000000000000000040
+Y0=c43a83c4c4badec4354ca984db252f7d
+E(K,Y0)=e94ab9535c72bea9e089c93d48e62fb0
+X1=ed56aaf8a72d67049fdb9228edba1322
+X2=cd47221ccef0554ee4bb044c88150352
+Y1=c43a83c4c4badec4354ca984db252f7e
+E(K,Y1)=b8040969d08295afd226fcda0ddf61cf
+Y2=c43a83c4c4badec4354ca984db252f7f
+E(K,Y2)=ef3c83225af93122192ad5c4f15dfe51
+Y3=c43a83c4c4badec4354ca984db252f80
+E(K,Y3)=6fbc659571f72de104c67b609d2fde67
+Y4=c43a83c4c4badec4354ca984db252f81
+E(K,Y4)=f8e3581441a1e950785c3ea1430c6fa6
+X3=9379e2feae14649c86cf2250e3a81916
+X4=65dde904c92a6b3db877c4817b50a5f4
+X5=48c53cf863b49a1b0bbfc48c3baaa89d
+X6=08c873f1c8cec3effc209a07468caab1
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=df586bb4c249b92cb6922877e444d37b
+C=61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598
+T=3612d2e79e3b0785561be14aaca2fccb
diff --git a/nss/cmd/bltest/tests/aes_gcm/test5.txt b/nss/cmd/bltest/tests/aes_gcm/test5.txt
new file mode 100644
index 0000000..709251b
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test5.txt
@@ -0,0 +1,31 @@
+test="Test Case 6"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
+H=b83b533708bf535d0aa6e52980d53b78
+N1=004d6599d7fb1634756e1e299d81630f
+N2=88ffe8a3c8033df4b54d732f7f88408e
+N3=24e694cfab657beabba8055aad495e23
+N4=d8349a5eda24943c8fbb2ef5168b20cb
+len({})||len(IV)=000000000000000000000000000001e0
+Y0=3bab75780a31c059f83d2a44752f9864
+7dc63b399f2d98d57ab073b6baa4138e
+X1=ed56aaf8a72d67049fdb9228edba1322
+X2=cd47221ccef0554ee4bb044c88150352
+Y1=3bab75780a31c059f83d2a44752f9865
+E(K,Y1)=55d37bbd9ad21353a6f93a690eca9e0e
+Y2=3bab75780a31c059f83d2a44752f9866
+E(K,Y2)=3836bbf6d696e672946a1a01404fa6d5
+Y3=3bab75780a31c059f83d2a44752f9867
+E(K,Y3)=1dd8a5316ecc35c3e313bca59d2ac94a
+Y4=3bab75780a31c059f83d2a44752f9868
+E(K,Y4)=6742982706a9f154f657d5dc94b746db
+X3=31727669c63c6f078b5d22adbbbca384
+X4=480c00db2679065a7ed2f771a53acacd
+X5=1c1ae3c355e2214466a9923d2ba6ab35
+X6=0694c6f16bb0275a48891d06590344b0
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=1c5afe9760d3932f3c9a878aac3dc3de
+C=8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5
+T=619cc5aefffe0bfa462af43c1699d050
diff --git a/nss/cmd/bltest/tests/aes_gcm/test6.txt b/nss/cmd/bltest/tests/aes_gcm/test6.txt
new file mode 100644
index 0000000..b738e1f
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test6.txt
@@ -0,0 +1,11 @@
+test="Test Case 7"
+K=000000000000000000000000000000000000000000000000
+P=
+IV=000000000000000000000000
+H=aae06992acbf52a3e8f4a96ec9300bd7
+Y0=00000000000000000000000000000001
+E(K,Y0)=cd33b28ac773f74ba00ed1f312572435
+len(A)||len(C)=00000000000000000000000000000000
+GHASH(H,A,C)=00000000000000000000000000000000
+C=
+T=cd33b28ac773f74ba00ed1f312572435
diff --git a/nss/cmd/bltest/tests/aes_gcm/test7.txt b/nss/cmd/bltest/tests/aes_gcm/test7.txt
new file mode 100644
index 0000000..68bc521
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test7.txt
@@ -0,0 +1,14 @@
+test="Test Case 8"
+K=000000000000000000000000000000000000000000000000
+P=00000000000000000000000000000000
+IV=000000000000000000000000
+H=aae06992acbf52a3e8f4a96ec9300bd7
+Y0=00000000000000000000000000000001
+E(K,Y0)=cd33b28ac773f74ba00ed1f312572435
+Y1=00000000000000000000000000000002
+E(K,Y1)=98e7247c07f0fe411c267e4384b0f600
+X1=90e87315fb7d4e1b4092ec0cbfda5d7d
+len(A)||len(C)=00000000000000000000000000000080
+GHASH(H,A,C)=e2c63f0ac44ad0e02efa05ab6743d4ce
+C=98e7247c07f0fe411c267e4384b0f600
+T=2ff58d80033927ab8ef4d4587514f0fb
diff --git a/nss/cmd/bltest/tests/aes_gcm/test8.txt b/nss/cmd/bltest/tests/aes_gcm/test8.txt
new file mode 100644
index 0000000..5443240
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test8.txt
@@ -0,0 +1,23 @@
+test="Test Case 9"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
+IV=cafebabefacedbaddecaf888
+H=466923ec9ae682214f2c082badb39249
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=c835aa88aebbc94f5a02e179fdcfc3e4
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=e0b1f82ec484eea44e5ff30128df01cd
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=0339b5b9b3db2e5e4cc9a38986906bee
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=614b3195542ccc7683ae933c81ec8a62
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=a988a97e85eec28e76b95c29b6023003
+X1=dddca3f91c17821ffac4a6d0fed176f7
+X2=a4e84ac60e2730f4a7e0e1eef708b198
+X3=e67592048dd7153973a0dbbb8804bee2
+X4=503e86628536625fb746ce3cecea433f
+len(A)||len(C)=00000000000000000000000000000200
+GHASH(H,A,C)=51110d40f6c8fff0eb1ae33445a889f0
+C=3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256
+T=9924a7c8587336bfb118024db8674a14
diff --git a/nss/cmd/bltest/tests/aes_gcm/test9.txt b/nss/cmd/bltest/tests/aes_gcm/test9.txt
new file mode 100644
index 0000000..bcd5939
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test9.txt
@@ -0,0 +1,26 @@
+test="Test Case 10"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbaddecaf888
+H=466923ec9ae682214f2c082badb39249
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=c835aa88aebbc94f5a02e179fdcfc3e4
+X1=f3bf7ba3e305aeb05ed0d2e4fe076666
+X2=20a51fa2302e9c01b87c48f2c3d91a56
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=e0b1f82ec484eea44e5ff30128df01cd
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=0339b5b9b3db2e5e4cc9a38986906bee
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=614b3195542ccc7683ae933c81ec8a62
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=a988a97e85eec28e76b95c29b6023003
+X3=714f9700ddf520f20695f6180c6e669d
+X4=e858680b7b240d2ecf7e06bbad4524e2
+X5=3f4865abd6bb3fb9f5c4a816f0a9b778
+X6=4256f67fe87b4f49422ba11af857c973
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=ed2ce3062e4a8ec06db8b4c490e8a268
+C=3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710
+T=2519498e80f1478f37ba55bd6d27618c
diff --git a/nss/cmd/bltest/tests/aes_gcm/test_source.txt b/nss/cmd/bltest/tests/aes_gcm/test_source.txt
new file mode 100644
index 0000000..61c78fc
--- /dev/null
+++ b/nss/cmd/bltest/tests/aes_gcm/test_source.txt
@@ -0,0 +1,439 @@
+# AppendixB AES Test Vectors
+# From "The Galois/Counter Mode of Operation (GCM)", David A McGree & John Viega,
+# http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf
+#
+# This appendix contains test cases for AES GCM, with AES key sizes of 128, 192, and 256 bits. These
+# cases use the same notation as in Equations 1 and 2, with the exception that Ni is used in place of
+# Xi when GHASH is used to compute Y0 , in order to distinguish that case from the later invocation
+# of GHASH. All values are in hexadecimal, and a zero-length variable is indicated by the absence
+# of any hex digits. Each line consists of 128 bits of data, and variables whose lengths exceed that
+# value are continued on successive lines. The leftmost hex digit corresponds to the leftmost four
+# bits of the variable. For example, the lowest 128 bits of the field polynomial are represented as
+# e100000000000000000000000000000000.
+#
+
+test="Test Case 1"
+K=00000000000000000000000000000000
+P=
+IV=000000000000000000000000
+H=66e94bd4ef8a2c3b884cfa59ca342b2e
+Y0=00000000000000000000000000000001
+E(K,Y0)=58e2fccefa7e3061367f1d57a4e7455a
+len(A)||len(C)=00000000000000000000000000000000
+GHASH(H,A,C)=00000000000000000000000000000000
+C=
+T=58e2fccefa7e3061367f1d57a4e7455a
+
+
+test="Test Case 2"
+K=00000000000000000000000000000000
+P=00000000000000000000000000000000
+IV=000000000000000000000000
+H=66e94bd4ef8a2c3b884cfa59ca342b2e
+Y0=00000000000000000000000000000001
+E(K,Y0)=58e2fccefa7e3061367f1d57a4e7455a
+Y1=00000000000000000000000000000002
+E(K,Y1)=0388dace60b6a392f328c2b971b2fe78
+X1 5e2ec746917062882c85b0685353deb7
+len(A)||len(C)=00000000000000000000000000000080
+GHASH(H,A,C)=f38cbb1ad69223dcc3457ae5b6b0f885
+C=0388dace60b6a392f328c2b971b2fe78
+T=ab6e47d42cec13bdf53a67b21257bddf
+
+test="Test Case 3"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
+IV=cafebabefacedbaddecaf888
+H=b83b533708bf535d0aa6e52980d53b78
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=3247184b3c4f69a44dbcd22887bbb418
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=9bb22ce7d9f372c1ee2b28722b25f206
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=650d887c3936533a1b8d4e1ea39d2b5c
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=3de91827c10e9a4f5240647ee5221f20
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=aac9e6ccc0074ac0873b9ba85d908bd0
+X1=59ed3f2bb1a0aaa07c9f56c6a504647b
+X2=b714c9048389afd9f9bc5c1d4378e052
+X3=47400c6577b1ee8d8f40b2721e86ff10
+X4=4796cf49464704b5dd91f159bb1b7f95
+len(A)||len(C)=00000000000000000000000000000200
+GHASH(H,A,C)=7f1b32b81b820d02614f8895ac1d4eac
+C=42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985
+T=4d5c2af327cd64a62cf35abd2ba6fab4
+
+test="Test Case 4"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbaddecaf888
+H=b83b533708bf535d0aa6e52980d53b78
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=3247184b3c4f69a44dbcd22887bbb418
+X1=ed56aaf8a72d67049fdb9228edba1322
+X2=cd47221ccef0554ee4bb044c88150352
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=9bb22ce7d9f372c1ee2b28722b25f206
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=650d887c3936533a1b8d4e1ea39d2b5c
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=3de91827c10e9a4f5240647ee5221f20
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=aac9e6ccc0074ac0873b9ba85d908bd0
+X3=54f5e1b2b5a8f9525c23924751a3ca51
+X4=324f585c6ffc1359ab371565d6c45f93
+X5=ca7dd446af4aa70cc3c0cd5abba6aa1c
+X6=1590df9b2eb6768289e57d56274c8570
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=698e57f70e6ecc7fd9463b7260a9ae5f
+C=42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091
+T=5bc94fbc3221a5db94fae95ae7121a47
+
+test="Test Case 5"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbad
+H=b83b533708bf535d0aa6e52980d53b78
+N1=6f288b846e5fed9a18376829c86a6a16
+len({})||len(C)=00000000000000000000000000000040
+Y0=c43a83c4c4badec4354ca984db252f7d
+E(K,Y0)=e94ab9535c72bea9e089c93d48e62fb0
+X1=ed56aaf8a72d67049fdb9228edba1322
+X2=cd47221ccef0554ee4bb044c88150352
+Y1=c43a83c4c4badec4354ca984db252f7e
+E(K,Y1)=b8040969d08295afd226fcda0ddf61cf
+Y2=c43a83c4c4badec4354ca984db252f7f
+E(K,Y2)=ef3c83225af93122192ad5c4f15dfe51
+Y3=c43a83c4c4badec4354ca984db252f80
+E(K,Y3)=6fbc659571f72de104c67b609d2fde67
+Y4=c43a83c4c4badec4354ca984db252f81
+E(K,Y4)=f8e3581441a1e950785c3ea1430c6fa6
+X3=9379e2feae14649c86cf2250e3a81916
+X4=65dde904c92a6b3db877c4817b50a5f4
+X5=48c53cf863b49a1b0bbfc48c3baaa89d
+X6=08c873f1c8cec3effc209a07468caab1
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=df586bb4c249b92cb6922877e444d37b
+C=61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598
+T=3612d2e79e3b0785561be14aaca2fccb
+
+test="Test Case 6"
+K=feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
+H=b83b533708bf535d0aa6e52980d53b78
+N1=004d6599d7fb1634756e1e299d81630f
+N2=88ffe8a3c8033df4b54d732f7f88408e
+N3=24e694cfab657beabba8055aad495e23
+N4=d8349a5eda24943c8fbb2ef5168b20cb
+len({})||len(IV)=000000000000000000000000000001e0
+Y0=3bab75780a31c059f83d2a44752f9864
+7dc63b399f2d98d57ab073b6baa4138e
+X1=ed56aaf8a72d67049fdb9228edba1322
+X2=cd47221ccef0554ee4bb044c88150352
+Y1=3bab75780a31c059f83d2a44752f9865
+E(K,Y1)=55d37bbd9ad21353a6f93a690eca9e0e
+Y2=3bab75780a31c059f83d2a44752f9866
+E(K,Y2)=3836bbf6d696e672946a1a01404fa6d5
+Y3=3bab75780a31c059f83d2a44752f9867
+E(K,Y3)=1dd8a5316ecc35c3e313bca59d2ac94a
+Y4=3bab75780a31c059f83d2a44752f9868
+E(K,Y4)=6742982706a9f154f657d5dc94b746db
+X3=31727669c63c6f078b5d22adbbbca384
+X4=480c00db2679065a7ed2f771a53acacd
+X5=1c1ae3c355e2214466a9923d2ba6ab35
+X6=0694c6f16bb0275a48891d06590344b0
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=1c5afe9760d3932f3c9a878aac3dc3de
+C=8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5
+T=619cc5aefffe0bfa462af43c1699d050
+
+test="Test Case 7"
+K=000000000000000000000000000000000000000000000000
+P=
+IV=000000000000000000000000
+H=aae06992acbf52a3e8f4a96ec9300bd7
+Y0=00000000000000000000000000000001
+E(K,Y0)=cd33b28ac773f74ba00ed1f312572435
+len(A)||len(C)=00000000000000000000000000000000
+GHASH(H,A,C)=00000000000000000000000000000000
+C=
+T=cd33b28ac773f74ba00ed1f312572435
+
+test="Test Case 8"
+K=000000000000000000000000000000000000000000000000
+P=00000000000000000000000000000000
+IV=000000000000000000000000
+H=aae06992acbf52a3e8f4a96ec9300bd7
+Y0=00000000000000000000000000000001
+E(K,Y0)=cd33b28ac773f74ba00ed1f312572435
+Y1=00000000000000000000000000000002
+E(K,Y1)=98e7247c07f0fe411c267e4384b0f600
+X1=90e87315fb7d4e1b4092ec0cbfda5d7d
+len(A)||len(C)=00000000000000000000000000000080
+GHASH(H,A,C)=e2c63f0ac44ad0e02efa05ab6743d4ce
+C=98e7247c07f0fe411c267e4384b0f600
+T=2ff58d80033927ab8ef4d4587514f0fb
+
+
+test="Test Case 9"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
+IV=cafebabefacedbaddecaf888
+H=466923ec9ae682214f2c082badb39249
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=c835aa88aebbc94f5a02e179fdcfc3e4
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=e0b1f82ec484eea44e5ff30128df01cd
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=0339b5b9b3db2e5e4cc9a38986906bee
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=614b3195542ccc7683ae933c81ec8a62
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=a988a97e85eec28e76b95c29b6023003
+X1=dddca3f91c17821ffac4a6d0fed176f7
+X2=a4e84ac60e2730f4a7e0e1eef708b198
+X3=e67592048dd7153973a0dbbb8804bee2
+X4=503e86628536625fb746ce3cecea433f
+len(A)||len(C)=00000000000000000000000000000200
+GHASH(H,A,C)=51110d40f6c8fff0eb1ae33445a889f0
+C=3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256
+T=9924a7c8587336bfb118024db8674a14
+
+test="Test Case 10"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbaddecaf888
+H=466923ec9ae682214f2c082badb39249
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=c835aa88aebbc94f5a02e179fdcfc3e4
+X1=f3bf7ba3e305aeb05ed0d2e4fe076666
+X2=20a51fa2302e9c01b87c48f2c3d91a56
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=e0b1f82ec484eea44e5ff30128df01cd
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=0339b5b9b3db2e5e4cc9a38986906bee
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=614b3195542ccc7683ae933c81ec8a62
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=a988a97e85eec28e76b95c29b6023003
+X3=714f9700ddf520f20695f6180c6e669d
+X4=e858680b7b240d2ecf7e06bbad4524e2
+X5=3f4865abd6bb3fb9f5c4a816f0a9b778
+X6=4256f67fe87b4f49422ba11af857c973
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=ed2ce3062e4a8ec06db8b4c490e8a268
+C=3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710
+T=2519498e80f1478f37ba55bd6d27618c
+
+test="Test Case 11"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbad
+H=466923ec9ae682214f2c082badb39249
+N1=9473c07b02544299cf007c42c5778218
+len({})||len(IV)=00000000000000000000000000000040
+Y0=a14378078d27258a6292737e1802ada5
+E(K,Y0)=7bb6d647c902427ce7cf26563a337371
+X1=f3bf7ba3e305aeb05ed0d2e4fe076666
+X2=20a51fa2302e9c01b87c48f2c3d91a56
+Y1=a14378078d27258a6292737e1802ada6
+E(K,Y1)=d621c7bc5690a7b1487dbaab8ac76b22
+Y2=a14378078d27258a6292737e1802ada7
+E(K,Y2)=43c1ca7de78f4495ad0b18324e61fa25
+Y3=a14378078d27258a6292737e1802ada8
+E(K,Y3)=e1e0254a0f2f1626e9aa4ff09d7c64ec
+Y4=a14378078d27258a6292737e1802ada9
+E(K,Y4)=5850f4502486a1681a9319ce7d0afa59
+X3=8bdedafd6ee8e529689de3a269b8240d
+X4=6607feb377b49c9ecdbc696344fe22d8
+X5=8a19570a06500ba9405fcece4a73fb48
+X6=8532826e63ce4a5b89b70fa28f8070fe
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=1e6a133806607858ee80eaf237064089
+C=0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7
+T=65dcc57fcf623a24094fcca40d3533f8
+
+test="Test Case 12"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
+H=466923ec9ae682214f2c082badb39249
+N1=19aef0f04763b0c87903c5a217d5314f
+N2=62120253f79efc978625d1feb03b5b5b
+N3=b6ce2a84e366de900fa78a1653df77fb
+N4=374ecad90487f0bb261ba817447e022c
+len({})||len(IV)=000000000000000000000000000001e0
+Y0=4505cdc367a054c5002820e96aebef27
+E(K,Y0)=5ea3194f9dd012a3b9bc5103d6e0284d
+X1=f3bf7ba3e305aeb05ed0d2e4fe076666
+X2=20a51fa2302e9c01b87c48f2c3d91a56
+Y1=4505cdc367a054c5002820e96aebef28
+E(K,Y1)=0b4fba4de46722d9ed691f9f2029df65
+Y2=4505cdc367a054c5002820e96aebef29
+E(K,Y2)=9b4e088bf380b03540bb87a5a257e437
+Y3=4505cdc367a054c5002820e96aebef2a
+E(K,Y3)=9ddb9c873a5cd48acd3f397cd28f9896
+Y4=4505cdc367a054c5002820e96aebef2b
+E(K,Y4)=5716ee92eff7c4b053d44c0294ea88cd
+X3=f70d61693ea7f53f08c866d6eedb1e4b
+X4=dc40bc9a181b35aed66488071ef282ae
+X5=85ffa424b87b35cac7be9c450f0d7aee
+X6=65233cbe5251f7d246bfc967a8678647
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=82567fb0b4cc371801eadec005968e94
+C=d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b
+T=dcf566ff291c25bbb8568fc3d376a6d9
+
+test="Test Case 13"
+K=0000000000000000000000000000000000000000000000000000000000000000
+P=
+IV=000000000000000000000000
+H=dc95c078a2408989ad48a21492842087
+Y0=00000000000000000000000000000001
+E(K,Y0)=530f8afbc74536b9a963b4f1c4cb738b
+len(A)||len(C)=00000000000000000000000000000000
+GHASH(H,A,C)=00000000000000000000000000000000
+C=
+T=530f8afbc74536b9a963b4f1c4cb738b
+
+
+test="Test Case 14"
+K=0000000000000000000000000000000000000000000000000000000000000000
+P=00000000000000000000000000000000
+IV=000000000000000000000000
+H=dc95c078a2408989ad48a21492842087
+Y0=00000000000000000000000000000001
+E(K,Y0)=530f8afbc74536b9a963b4f1c4cb738b
+Y1=00000000000000000000000000000002
+E(K,Y1)=cea7403d4d606b6e074ec5d3baf39d18
+X1=fd6ab7586e556dba06d69cfe6223b262
+len(A)||len(C)=00000000000000000000000000000080
+GHASH(H,A,C)=83de425c5edc5d498f382c441041ca92
+C=cea7403d4d606b6e074ec5d3baf39d18
+T=d0d1c8a799996bf0265b98b5d48ab919
+
+test="Test Case 15"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
+IV=cafebabefacedbaddecaf888
+H=acbef20579b4b8ebce889bac8732dad7
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=fd2caa16a5832e76aa132c1453eeda7e
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=8b1cf3d561d27be251263e66857164e7
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=e29d258faad137135bd49280af645bd8
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=908c82ddcc65b26e887f85341f243d1d
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=749cf39639b79c5d06aa8d5b932fc7f8
+X1=fcbefb78635d598eddaf982310670f35
+X2=29de812309d3116a6eff7ec844484f3e
+X3=45fad9deeda9ea561b8f199c3613845b
+X4=ed95f8e164bf3213febc740f0bd9c6af
+len(A)||len(C)=00000000000000000000000000000200
+GHASH(H,A,C)=4db870d37cb75fcb46097c36230d1612
+C=522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad
+T=b094dac5d93471bdec1a502270e3cc6c
+
+test="Test Case 16"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbaddecaf888
+H=acbef20579b4b8ebce889bac8732dad7
+Y0=cafebabefacedbaddecaf88800000001
+E(K,Y0)=fd2caa16a5832e76aa132c1453eeda7e
+X1=5165d242c2592c0a6375e2622cf925d2
+X2=8efa30ce83298b85fe71abefc0cdd01d
+Y1=cafebabefacedbaddecaf88800000002
+E(K,Y1)=8b1cf3d561d27be251263e66857164e7
+Y2=cafebabefacedbaddecaf88800000003
+E(K,Y2)=e29d258faad137135bd49280af645bd8
+Y3=cafebabefacedbaddecaf88800000004
+E(K,Y3)=908c82ddcc65b26e887f85341f243d1d
+Y4=cafebabefacedbaddecaf88800000005
+E(K,Y4)=749cf39639b79c5d06aa8d5b932fc7f8
+X3=abe07e0bb62354177480b550f9f6cdcc
+X4=3978e4f141b95f3b4699756b1c3c2082
+X5=8abf3c48901debe76837d8a05c7d6e87
+X6=9249beaf520c48b912fa120bbf391dc8
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=8bd0c4d8aacd391e67cca447e8c38f65
+C=522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662
+T=76fc6ece0f4e1768cddf8853bb2d551b
+
+
+test="Test Case 17"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=cafebabefacedbad
+H=acbef20579b4b8ebce889bac8732dad7
+N1=90c22e3d2aca34b971e8bd09708fae5c
+len({})||len(IV)=00000000000000000000000000000040
+Y0=0095df49dd90abe3e4d252475748f5d4
+E(K,Y0)=4f903f37fe611d454217fbfa5cd7d791
+X1=5165d242c2592c0a6375e2622cf925d2
+X2=8efa30ce83298b85fe71abefc0cdd01d
+Y1=0095df49dd90abe3e4d252475748f5d5
+E(K,Y1)=1a471fd432fc7bd70b1ec8fe5e6d6251
+Y2=0095df49dd90abe3e4d252475748f5d6
+E(K,Y2)=29bd481e1ea39d20eb63c7ea118b1792
+Y3=0095df49dd90abe3e4d252475748f5d7
+E(K,Y3)=e2898e46ac5cada3ba83cc1272618a5d
+Y4=0095df49dd90abe3e4d252475748f5d8
+E(K,Y4)=d3c6aefbcea602ce4e1fe026065447bf
+X3=55e1ff68f9249e64b95223858e5cb936
+X4=cef1c034383dc96f733aaa4c99bd3e61
+X5=68588d004fd468f5854515039b08165d
+X6=2378943c034697f72a80fce5059bf3f3
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=75a34288b8c68f811c52b2e9a2f97f63
+C=c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f
+T=3a337dbf46a792c45e454913fe2ea8f2
+
+test="Test Case 18"
+K=feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
+P=d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
+A=feedfacedeadbeeffeedfacedeadbeefabaddad2
+IV=9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
+H=acbef20579b4b8ebce889bac8732dad7
+N1=0bfe66e2032f195516379f5fb710f987
+N2=f0631554d11409915feec8f9f5102aba
+N3=749b90dda19a1557fd9e9fd31fed1d14
+N4=7a6a833f260d848793b327cb07d1b190
+len({})||len(IV)=000000000000000000000000000001e0
+Y0=0cd953e2140a5976079f8e2406bc8eb4
+E(K,Y0)=71b54d092bb0c3d9ba94538d4096e691
+X1=5165d242c2592c0a6375e2622cf925d2
+X2=8efa30ce83298b85fe71abefc0cdd01d
+Y1=0cd953e2140a5976079f8e2406bc8eb5
+E(K,Y1)=83bcdd0af41a551452047196ca6b0cba
+Y2=0cd953e2140a5976079f8e2406bc8eb6
+E(K,Y2)=68151b79baea93c38e149b72e545e186
+Y3=0cd953e2140a5976079f8e2406bc8eb7
+E(K,Y3)=13fccf22159a4d16026ce5d58c7e99fb
+Y4=0cd953e2140a5976079f8e2406bc8eb8
+E(K,Y4)=132b64628a031e79fecd050675a64f07
+X3=e963941cfa8c417bdaa3b3d94ab4e905
+X4=2178d7f836e5fa105ce0fdf0fc8f0654
+X5=bac14eeba3216f966b3e7e011475b832
+X6=cc9ae9175729a649936e890bd971a8bf
+len(A)||len(C)=00000000000000a000000000000001e0
+GHASH(H,A,C)=d5ffcf6fc5ac4d69722187421a7f170b
+C=5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f
+T=a44a8266ee1c8eb0c8b5d4cf5ae9f19a
+
+
+
+
+