CAVP: DRBG proto messages

Background:
Need proto messages, this time for DRBG

New Stuff:
* Send and receive messages.
* Big send mesage, but it is likely that each is only 32 bytes long.

Notes/Caveats:
* This skips the EntropyReseed and AdditionalInputReseed fields

Bug: 156130023
Test: bazel run cavptests

Signed-off-by: Ross Kettleson <kettro@google.com>
Change-Id: I6611681aac0401d1a0e8fb9c3bf5577457b1208a
diff --git a/nugget/proto/nugget/app/protoapi/testing_api.proto b/nugget/proto/nugget/app/protoapi/testing_api.proto
index 6f6e247..971ab78 100644
--- a/nugget/proto/nugget/app/protoapi/testing_api.proto
+++ b/nugget/proto/nugget/app/protoapi/testing_api.proto
@@ -40,6 +40,7 @@
   kCavpRsaKeyGenTest = 16;
   kCavpRsaSigGenTest = 17;
   kCavpRsaSigVerTest = 18;
+  kCavpDrbgTest = 19;
 }
 
 // TODO remove this when oneof support is added to nanopb
@@ -57,6 +58,7 @@
   kCavpRsaKeyGenTestResult = 10;
   kCavpRsaSigGenTestResult = 11;
   kCavpRsaSigVerTestResult = 12;
+  kCavpDrbgTestResult = 13;
 }
 
 message AesCbcEncryptTest {
@@ -228,6 +230,23 @@
   bytes d = 6;
 }
 
+message CavpDrbgTest {
+  bool prediction_resistance = 2;
+  uint32 ret_len = 3;
+  bytes entropy_init = 4;
+  bytes nonce = 5;
+  bytes perso_str = 6;
+  bytes add_input_1 = 7;
+  bytes add_input_2 = 8;
+  bytes entropy_pr_1 = 10;
+  bytes entropy_pr_2 = 11;
+}
+
+message CavpDrbgTestResult {
+  DcryptError result_code = 1;
+  bytes bits = 2;
+}
+
 message TrngTest {
   uint32 number_of_bytes = 1;
 }