ctr_eFuse/trunk
n2460 478c26ff13 genid:Cygwin 1.7 系の gcc(gcc-4) だとビルドできないので gcc-3 を指定。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@206 ff987cc8-cf2f-4642-8568-d52cce064691
2013-06-04 05:58:41 +00:00
..
dummyKey ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
hsm_utils ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
package package:Cygwin 1.7 系の gcc(gcc-4) だと openssl-1.0.0-beta5 がビルドできなくなっていたので gcc-3 を使うよう変更。 2013-06-04 05:28:12 +00:00
realKey ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
tools オブジェクトの結合スクリプト修正($openssl_dir の追加) 2011-08-23 06:17:12 +00:00
cr_alloc.c ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_alloc.h ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_device_cert.c デバイス証明書にセットする expiryDate を bigEndian に修正。(eFuseID側は、littleEndian のまま。) 2010-03-15 11:38:46 +00:00
cr_enc_id.c シャープ側で生成されたIDを検証するためのツール、testSharpID.exe をビルドできるよう変更。 2010-03-04 06:16:15 +00:00
cr_generate_id_private.h デバイス証明書にセットする expiryDate を bigEndian に修正。(eFuseID側は、littleEndian のまま。) 2010-03-15 11:38:46 +00:00
cr_generate_id.c ビルドスイッチにファイル出力オプション追加(DEBUG_OUTPUT) 2010-01-28 05:02:52 +00:00
cr_generate_id.h ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_hsm_alloc.c ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_hsm_alloc.h ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_hsm_bignum.c ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_hsm_bignum.h ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_hsm_code.c ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_hsm_code.h ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_id_util.c ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
cr_keyPair.c シャープ側で生成されたIDを検証するためのツール、testSharpID.exe をビルドできるよう変更。 2010-03-04 06:16:15 +00:00
LICENSE_en.txt ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
LICENSE_jp.txt ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
main2.c デバイス証明書にセットする expiryDate を bigEndian に修正。(eFuseID側は、littleEndian のまま。) 2010-03-15 11:38:46 +00:00
main.c main.c:small fix 2010-01-19 13:24:23 +00:00
Makefile genid:Cygwin 1.7 系の gcc(gcc-4) だとビルドできないので gcc-3 を指定。 2013-06-04 05:58:41 +00:00
Makefile.sharp ECDSA署名がOpenSSL-1.0.0-beta5で検証成功したので、beta5を標準で使用するよう変更 2010-01-22 05:58:50 +00:00
Makefile.testSharpID シャープ側で生成されたIDを検証するためのツール、testSharpID.exe をビルドできるよう変更。 2010-03-04 06:16:15 +00:00
readme_openssl.txt ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
readme.txt ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
ReleasePackage.csh ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00
ReleasePackage.sh ツリー全体をtrunkフォルダに移動。 2010-01-12 08:55:42 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CTR - ID生成関数について 2009/09/30

----------------------------
要、opensslライブラリバージョン0.9.8以上)
現在、openssl-1.0.0-beta2とopenssl-0.9.8kでテスト中。

-----------------------------
ファイル構成:
  readme.txt
  readme_openssl.txt
  LICENSE_en.txt
  LICENSE_jp.txt
 cr_generate_id.h 
 cr_generate_id.c 
 cr_alloc.h
 cr_alloc.c 
 cr_gen_id_rsa_key_priv.c
 cr_gen_id_rsa_key_priv.h
 cr_gen_id_rsa_key_pub.c
 cr_gen_id_rsa_key_pub.h
  maim.c(使用サンプル)
  Makefile(Windows cygwin環境用)

----------------------------
関数仕様:

#define CR_ID_BUF_SIZE                (2048/8)
#define CR_NUM_OF_SERIAL               5

typedef signed char  s8;
typedef unsigned char  u8;
typedef unsigned short u16;
typedef unsigned long  u32;
typedef unsigned long long u64;

int cr_generate_id(u32 counter[CR_NUM_OF_SERIAL], u8 id[ID_BUF_SIZE]);
/*
    Core2 Duo 2.66GHz 2GB で約0.016sec
*/
----------------------------
使用サンプル:

main()
{
     u8 id_buf[CR_ID_BUF_SIZE]; /* 256byte(2048bit) */
     u32 counter_array[CR_NUM_OF_SERIAL];

     u32 counter0 = 1;
     u64 counter1 = 2;
     u64 counter2 = 3;


     while( 1 ) {
	counter_array[0] = counter0;
	counter_array[1] = (u32)(counter1 & 0xffffffff );
	counter_array[2] = (u32)( (counter1 >> 32) & 0xffffffff );
	counter_array[3] = (u32)(counter2 & 0xffffffff );
	counter_array[4] = (u32)( (counter2 >> 32) & 0xffffffff ); 

	if( 0 != cr_generate_id(counter_array, id_buf) ) {
	    fprintf(stderr,"cr_generate_id failed c=0x%08x\n",counter0);
	}
	else {
	    fwrite(id, CR_ID_BUF_SIZE, 1, fp);
	}
	counter0++;
        counter1 += (u64)rand();
        counter2 += (u64)rand();
     }
}