source: trip-planner-front/node_modules/sshpk/lib/algs.js@ 76712b2

Last change on this file since 76712b2 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 4.8 KB
RevLine 
[6a3a178]1// Copyright 2015 Joyent, Inc.
2
3var Buffer = require('safer-buffer').Buffer;
4
5var algInfo = {
6 'dsa': {
7 parts: ['p', 'q', 'g', 'y'],
8 sizePart: 'p'
9 },
10 'rsa': {
11 parts: ['e', 'n'],
12 sizePart: 'n'
13 },
14 'ecdsa': {
15 parts: ['curve', 'Q'],
16 sizePart: 'Q'
17 },
18 'ed25519': {
19 parts: ['A'],
20 sizePart: 'A'
21 }
22};
23algInfo['curve25519'] = algInfo['ed25519'];
24
25var algPrivInfo = {
26 'dsa': {
27 parts: ['p', 'q', 'g', 'y', 'x']
28 },
29 'rsa': {
30 parts: ['n', 'e', 'd', 'iqmp', 'p', 'q']
31 },
32 'ecdsa': {
33 parts: ['curve', 'Q', 'd']
34 },
35 'ed25519': {
36 parts: ['A', 'k']
37 }
38};
39algPrivInfo['curve25519'] = algPrivInfo['ed25519'];
40
41var hashAlgs = {
42 'md5': true,
43 'sha1': true,
44 'sha256': true,
45 'sha384': true,
46 'sha512': true
47};
48
49/*
50 * Taken from
51 * http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf
52 */
53var curves = {
54 'nistp256': {
55 size: 256,
56 pkcs8oid: '1.2.840.10045.3.1.7',
57 p: Buffer.from(('00' +
58 'ffffffff 00000001 00000000 00000000' +
59 '00000000 ffffffff ffffffff ffffffff').
60 replace(/ /g, ''), 'hex'),
61 a: Buffer.from(('00' +
62 'FFFFFFFF 00000001 00000000 00000000' +
63 '00000000 FFFFFFFF FFFFFFFF FFFFFFFC').
64 replace(/ /g, ''), 'hex'),
65 b: Buffer.from((
66 '5ac635d8 aa3a93e7 b3ebbd55 769886bc' +
67 '651d06b0 cc53b0f6 3bce3c3e 27d2604b').
68 replace(/ /g, ''), 'hex'),
69 s: Buffer.from(('00' +
70 'c49d3608 86e70493 6a6678e1 139d26b7' +
71 '819f7e90').
72 replace(/ /g, ''), 'hex'),
73 n: Buffer.from(('00' +
74 'ffffffff 00000000 ffffffff ffffffff' +
75 'bce6faad a7179e84 f3b9cac2 fc632551').
76 replace(/ /g, ''), 'hex'),
77 G: Buffer.from(('04' +
78 '6b17d1f2 e12c4247 f8bce6e5 63a440f2' +
79 '77037d81 2deb33a0 f4a13945 d898c296' +
80 '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16' +
81 '2bce3357 6b315ece cbb64068 37bf51f5').
82 replace(/ /g, ''), 'hex')
83 },
84 'nistp384': {
85 size: 384,
86 pkcs8oid: '1.3.132.0.34',
87 p: Buffer.from(('00' +
88 'ffffffff ffffffff ffffffff ffffffff' +
89 'ffffffff ffffffff ffffffff fffffffe' +
90 'ffffffff 00000000 00000000 ffffffff').
91 replace(/ /g, ''), 'hex'),
92 a: Buffer.from(('00' +
93 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' +
94 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE' +
95 'FFFFFFFF 00000000 00000000 FFFFFFFC').
96 replace(/ /g, ''), 'hex'),
97 b: Buffer.from((
98 'b3312fa7 e23ee7e4 988e056b e3f82d19' +
99 '181d9c6e fe814112 0314088f 5013875a' +
100 'c656398d 8a2ed19d 2a85c8ed d3ec2aef').
101 replace(/ /g, ''), 'hex'),
102 s: Buffer.from(('00' +
103 'a335926a a319a27a 1d00896a 6773a482' +
104 '7acdac73').
105 replace(/ /g, ''), 'hex'),
106 n: Buffer.from(('00' +
107 'ffffffff ffffffff ffffffff ffffffff' +
108 'ffffffff ffffffff c7634d81 f4372ddf' +
109 '581a0db2 48b0a77a ecec196a ccc52973').
110 replace(/ /g, ''), 'hex'),
111 G: Buffer.from(('04' +
112 'aa87ca22 be8b0537 8eb1c71e f320ad74' +
113 '6e1d3b62 8ba79b98 59f741e0 82542a38' +
114 '5502f25d bf55296c 3a545e38 72760ab7' +
115 '3617de4a 96262c6f 5d9e98bf 9292dc29' +
116 'f8f41dbd 289a147c e9da3113 b5f0b8c0' +
117 '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f').
118 replace(/ /g, ''), 'hex')
119 },
120 'nistp521': {
121 size: 521,
122 pkcs8oid: '1.3.132.0.35',
123 p: Buffer.from((
124 '01ffffff ffffffff ffffffff ffffffff' +
125 'ffffffff ffffffff ffffffff ffffffff' +
126 'ffffffff ffffffff ffffffff ffffffff' +
127 'ffffffff ffffffff ffffffff ffffffff' +
128 'ffff').replace(/ /g, ''), 'hex'),
129 a: Buffer.from(('01FF' +
130 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' +
131 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' +
132 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' +
133 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC').
134 replace(/ /g, ''), 'hex'),
135 b: Buffer.from(('51' +
136 '953eb961 8e1c9a1f 929a21a0 b68540ee' +
137 'a2da725b 99b315f3 b8b48991 8ef109e1' +
138 '56193951 ec7e937b 1652c0bd 3bb1bf07' +
139 '3573df88 3d2c34f1 ef451fd4 6b503f00').
140 replace(/ /g, ''), 'hex'),
141 s: Buffer.from(('00' +
142 'd09e8800 291cb853 96cc6717 393284aa' +
143 'a0da64ba').replace(/ /g, ''), 'hex'),
144 n: Buffer.from(('01ff' +
145 'ffffffff ffffffff ffffffff ffffffff' +
146 'ffffffff ffffffff ffffffff fffffffa' +
147 '51868783 bf2f966b 7fcc0148 f709a5d0' +
148 '3bb5c9b8 899c47ae bb6fb71e 91386409').
149 replace(/ /g, ''), 'hex'),
150 G: Buffer.from(('04' +
151 '00c6 858e06b7 0404e9cd 9e3ecb66 2395b442' +
152 '9c648139 053fb521 f828af60 6b4d3dba' +
153 'a14b5e77 efe75928 fe1dc127 a2ffa8de' +
154 '3348b3c1 856a429b f97e7e31 c2e5bd66' +
155 '0118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9' +
156 '98f54449 579b4468 17afbd17 273e662c' +
157 '97ee7299 5ef42640 c550b901 3fad0761' +
158 '353c7086 a272c240 88be9476 9fd16650').
159 replace(/ /g, ''), 'hex')
160 }
161};
162
163module.exports = {
164 info: algInfo,
165 privInfo: algPrivInfo,
166 hashAlgs: hashAlgs,
167 curves: curves
168};
Note: See TracBrowser for help on using the repository browser.