not really known
Go to file
(no author) 1685d4ae68 ・ビルドスイッチの整理。
HSM使用時は、ダミー鍵をリンクしないよう変更。
 HSM未使用時は、ダミー鍵を使用するよう変更。
 ENCRYPT_AESは、Makefileではなく、ヘッダで定義するよう変更。

・ダミー鍵処理を整備。
 AES鍵も外部データをリンクするよう変更。
 RSA鍵、AES鍵を共に開発鍵と製品鍵の両方を用意し、ボンディングオプションで切り替えるよう変更。
 ダミー鍵使用時は、gen_id.exeを停止せず、最初に警告メッセージを表示するよう変更。


git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@32 ff987cc8-cf2f-4642-8568-d52cce064691
2009-12-22 08:35:27 +00:00
dummyCA Add first files. 2009-12-21 08:45:37 +00:00
dummyKey ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
package git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@4 ff987cc8-cf2f-4642-8568-d52cce064691 2009-12-21 08:59:49 +00:00
tools ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
cr_alloc.c Add first files. 2009-12-21 08:45:37 +00:00
cr_alloc.h Add first files. 2009-12-21 08:45:37 +00:00
cr_deviceCert.c ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
cr_enc_id.c ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
cr_generate_id_private.h ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
cr_generate_id.c ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
cr_generate_id.h RSA処理部修正 2009-12-22 05:57:17 +00:00
cr_hsm_code.c ifdef抜けの修正 その5 2009-12-22 07:00:14 +00:00
cr_hsm_code.h linuxでのビルドを通す その4 2009-12-22 05:20:29 +00:00
cr_hsm_util.c HSM使用時/未使用時で、id の magic code を変えるよう修正。 2009-12-22 07:13:58 +00:00
cr_keyPair.c ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
LICENSE_en.txt Add first files. 2009-12-21 08:45:37 +00:00
LICENSE_jp.txt Add first files. 2009-12-21 08:45:37 +00:00
main.c ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
Makefile ・ビルドスイッチの整理。 2009-12-22 08:35:27 +00:00
Makefile.sharp Add first files. 2009-12-21 08:45:37 +00:00
package.csh Add first files. 2009-12-21 08:45:37 +00:00
package.sh Add first files. 2009-12-21 08:45:37 +00:00
readme_openssl.txt Add first files. 2009-12-21 08:45:37 +00:00
readme.txt Add first files. 2009-12-21 08:45:37 +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();
     }
}