Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/ttssh2/ttxssh/ed25519_fe25519.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5545 - (hide annotations) (download) (as text)
Mon Mar 17 16:06:58 2014 UTC (10 years ago) by yutakapon
File MIME type: text/x-chdr
File size: 2372 byte(s)
チケット #33263
Curve25519楕円曲線DH(Diffe Hellman)アルゴリズムを使った鍵交換をサポートした。

svn+ssh://svn.sourceforge.jp/svnroot/ttssh2/branches/ssh_ed25519
ブランチからマージ。

現時点でサポートしている機能は下記の通り。

 ・Key Generatorで ED25519 鍵の作成
 ・Key Generatorで RSA/DSA/ECDSA 秘密鍵ファイルに bcrypt KDF を選択可能。
 ・ED25519 による公開鍵認証ログイン
 ・RSA(bcrypt KDF) による公開鍵認証ログイン
 ・DSA(bcrypt KDF) による公開鍵認証ログイン
 ・ECDSA(bcrypt KDF) による公開鍵認証ログイン
 ・Host Keyに ssh-ed25519 のサポート

1 yutakapon 5497 /* $OpenBSD: fe25519.h,v 1.3 2013/12/09 11:03:45 markus Exp $ */
2    
3     /*
4     * Public Domain, Authors: Daniel J. Bernstein, Niels Duif, Tanja Lange,
5     * Peter Schwabe, Bo-Yin Yang.
6     * Copied from supercop-20130419/crypto_sign/ed25519/ref/fe25519.h
7     */
8    
9     #ifndef FE25519_H
10     #define FE25519_H
11    
12     #include "ed25519_crypto_api.h"
13    
14     #define fe25519 crypto_sign_ed25519_ref_fe25519
15     #define fe25519_freeze crypto_sign_ed25519_ref_fe25519_freeze
16     #define fe25519_unpack crypto_sign_ed25519_ref_fe25519_unpack
17     #define fe25519_pack crypto_sign_ed25519_ref_fe25519_pack
18     #define fe25519_iszero crypto_sign_ed25519_ref_fe25519_iszero
19     #define fe25519_iseq_vartime crypto_sign_ed25519_ref_fe25519_iseq_vartime
20     #define fe25519_cmov crypto_sign_ed25519_ref_fe25519_cmov
21     #define fe25519_setone crypto_sign_ed25519_ref_fe25519_setone
22     #define fe25519_setzero crypto_sign_ed25519_ref_fe25519_setzero
23     #define fe25519_neg crypto_sign_ed25519_ref_fe25519_neg
24     #define fe25519_getparity crypto_sign_ed25519_ref_fe25519_getparity
25     #define fe25519_add crypto_sign_ed25519_ref_fe25519_add
26     #define fe25519_sub crypto_sign_ed25519_ref_fe25519_sub
27     #define fe25519_mul crypto_sign_ed25519_ref_fe25519_mul
28     #define fe25519_square crypto_sign_ed25519_ref_fe25519_square
29     #define fe25519_invert crypto_sign_ed25519_ref_fe25519_invert
30     #define fe25519_pow2523 crypto_sign_ed25519_ref_fe25519_pow2523
31    
32     typedef struct
33     {
34     crypto_uint32 v[32];
35     }
36     fe25519;
37    
38     void fe25519_freeze(fe25519 *r);
39    
40     void fe25519_unpack(fe25519 *r, const unsigned char x[32]);
41    
42     void fe25519_pack(unsigned char r[32], const fe25519 *x);
43    
44     int fe25519_iszero(const fe25519 *x);
45    
46     int fe25519_iseq_vartime(const fe25519 *x, const fe25519 *y);
47    
48     void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b);
49    
50     void fe25519_setone(fe25519 *r);
51    
52     void fe25519_setzero(fe25519 *r);
53    
54     void fe25519_neg(fe25519 *r, const fe25519 *x);
55    
56     unsigned char fe25519_getparity(const fe25519 *x);
57    
58     void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y);
59    
60     void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y);
61    
62     void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y);
63    
64     void fe25519_square(fe25519 *r, const fe25519 *x);
65    
66     void fe25519_invert(fe25519 *r, const fe25519 *x);
67    
68     void fe25519_pow2523(fe25519 *r, const fe25519 *x);
69    
70     #endif

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26