~ubuntu-branches/ubuntu/quantal/nettle/quantal

« back to all changes in this revision

Viewing changes to testsuite/rsa-keygen-test.c

  • Committer: Bazaar Package Importer
  • Author(s): Marek Habersack
  • Date: 2004-05-04 15:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20040504155602-7jbhw5mabvwksl3j
Tags: upstream-1.10
ImportĀ upstreamĀ versionĀ 1.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "testutils.h"
 
2
 
 
3
#include "knuth-lfib.h"
 
4
 
 
5
static void
 
6
progress(void *ctx UNUSED, int c)
 
7
{
 
8
  fputc(c, stderr);
 
9
}
 
10
 
 
11
int
 
12
test_main(void)
 
13
{
 
14
#if WITH_PUBLIC_KEY
 
15
 
 
16
  struct rsa_public_key pub;
 
17
  struct rsa_private_key key;
 
18
  
 
19
  struct knuth_lfib_ctx lfib;
 
20
 
 
21
  mpz_t expected;
 
22
  
 
23
  mpz_init(expected);
 
24
  
 
25
  rsa_private_key_init(&key);
 
26
  rsa_public_key_init(&pub);
 
27
 
 
28
  /* Generate a 1024 bit key with random e */
 
29
  knuth_lfib_init(&lfib, 13);
 
30
 
 
31
  if (!rsa_generate_keypair(&pub, &key,
 
32
                            &lfib, (nettle_random_func) knuth_lfib_random,
 
33
                            NULL, verbose ? progress : NULL,
 
34
                            1024, 50))
 
35
    FAIL();
 
36
 
 
37
  test_rsa_key(&pub, &key);
 
38
  
 
39
  mpz_set_str(expected,
 
40
              "34db1d465b94b12f" "bc1c024d2c6385ff" "a52a6aeb1754a58b"
 
41
              "b9f0ace0186cfd45" "3963e33440b88696" "513b50956ff463c6"
 
42
              "c369830dbe9f0605" "68c796cfe29ab35e" "722af1d3f5835610"
 
43
              "4fb7bb44d6f319d9" "1a1fcc789ab79e82" "98bac0d68187f05a"
 
44
              "1d0c1fcc324d1e0e" "69a4653de09c7c5b" "2278b3658b95b104"
 
45
              "bafcfe2b5f9f88e3", 16);
 
46
 
 
47
  test_rsa_md5(&pub, &key, expected);
 
48
 
 
49
  /* Generate a 2000 bit key with fixed e */
 
50
  knuth_lfib_init(&lfib, 17);
 
51
 
 
52
  mpz_set_ui(pub.e, 17);
 
53
  if (!rsa_generate_keypair(&pub, &key,
 
54
                            &lfib, (nettle_random_func) knuth_lfib_random,
 
55
                            NULL, verbose ? progress : NULL,
 
56
                            2000, 0))
 
57
    FAIL();
 
58
 
 
59
  test_rsa_key(&pub, &key);
 
60
 
 
61
  mpz_set_str(expected,
 
62
              "a311f80570e2c7b3" "d4888aae13c4c29b" "aa0139339809e581"
 
63
              "98722ca37c4a95ea" "0c94aae3b712f2a1" "ea0784a7ddea5127"
 
64
              "ca5dd218b96a9dac" "f607a90dfcb9458e" "cebdd0c25d84d0b9"
 
65
              "3c74ac49d678f25a" "4a4493092c2e79d2" "d3b399ec589643a6"
 
66
              "244e7b5c202fda3a" "9de1b5224d95ddb2" "a381b7cd061a85cb"
 
67
              "dc65af62213da9d0" "636439ee50642694" "11137ef8c2e8887f"
 
68
              "55e795e0b0ac6eb2" "b8576973a0d8ebda" "a8ee1e4ba23e4338"
 
69
              "15121310036920d0" "906844742e6ed25f" "b2bb3fe9caadf7ae"
 
70
              "fcd84d53730cf570" "1c8666c60238cfd4" "2fd1b6346a7d06fa"
 
71
              "44df010cfc7a3bca" "8cadd0cd9b68fa8b" "41204cbf8fdb6775"
 
72
              "f92107ef036bf139" "99bf", 16);
 
73
 
 
74
  test_rsa_sha1(&pub, &key, expected);
 
75
  
 
76
  rsa_private_key_clear(&key);
 
77
  rsa_public_key_clear(&pub);
 
78
  mpz_clear(expected);
 
79
 
 
80
  SUCCESS();
 
81
  
 
82
#else /* !WITH_PUBLIC_KEY */
 
83
  SKIP();
 
84
#endif /* !WITH_PUBLIC_KEY */
 
85
}