�����Fftp://ftp.rfc-editor.org/in-notes/rfc1991.txt

2005/02/06 0.1.0 ����
2006/03/05 0.2.0 ��N�ȏ�Ԃ�ɑS�̓I�Ɍ������B


Network Working Group
Request for Comments: 1991
Category: Informational





D. Atkins
MIT
W. Stallings
Comp-Comm Consulting
P. Zimmermann
Boulder Software Engineering
August 1996

PGP���b�Z�[�W�����t�H�[�}�b�g

���̕����̈ʒu�t��

���̕����̓C���^�[�l�b�g�R�~���j�e�B�̂��߂̏���񋟂���B���̕����͂����Ȃ�C���^�[�l�b�g�W�����K�肵�Ȃ��B���̕����̔z�z�͖������ł���B

�ڎ�

1. ����
2. PGP �T�[�r�X
2.1 �f�W�^������
2.2 �閧�ێ�
2.3 ���k
2.4 Radix-64 �ϊ�
2.4.1 ASCII ���b�t�H�[�}�b�g(ASCII Armor Formats)
3. �f�[�^�v�f�t�H�[�}�b�g
3.1 �o�C�g������
3.2 �����t�B�[���h
3.3 �������x�t�B�[���h
3.4 ������t�B�[���h
3.5 �����t�B�[���h
4. ���ʃt�B�[���h
4.1 �p�P�b�g�\���t�B�[���h
4.2 ���l ID �t�B�[���h
4.3 �o�[�W�����t�B�[���h
5. �p�P�b�g
5.1 �T��
5.2 ��ʓI�ȃp�P�b�g�\��
5.2.1 ���b�Z�[�W�\���v�f
5.2.2 �����\���v�f
5.2.3 �Z�b�V�������\���v�f
6. PGP �p�P�b�g�^�C�v
6.1 ���e�����f�[�^�p�P�b�g
6.2 �����p�P�b�g
6.2.1 ���b�Z�[�W�_�C�W�F�X�g�֘A�t�B�[���h
6.2.2 ���J���֘A�t�B�[���h
6.2.3 RSA ����
6.2.4 ���̑��̃t�B�[���h
6.3 ���k�f�[�^�p�P�b�g
6.4 ���p�������f�[�^�p�P�b�g
6.4.1 ���p�������^�C�v�o�C�g
6.5 ���J�������p�P�b�g
6.5.1 RSA �����f�[�^����(DEK)
6.6 ���J���p�P�b�g
6.7 ���[�U�[ ID �p�P�b�g
7. �]���”\���J��
8. �ӎ�
9. �Z�L�����e�B�l�@
10. ���҂̃A�h���X

1. ����

PGP (Pretty Good Privacy) �͌��J���ƒ�^�I�Í����Ƃ𗘗p���āA�d�q���[�����b�Z�[�W��f�[�^�t�@�C���Ȃnj����̃Z�L�����e�B�T�[�r�X��񋟂���B�����̃Z�L�����e�B�T�[�r�X�ɂ͔閧�ێ���f�W�^���������܂܂��BPGP �͐��E�K�͂̃R���s���[�^�R�~���j�e�B�ōL���g�p����Ă���B���̕����� "PGP �t�@�C��(PGP files)"(PGP ��p���ĈÍ����⏐�����Ȃ��ꂽ���b�Z�[�W)�̌`�����������B

PGP �� Philip Zimmermann �ɂ���č쐬����A1991 �N�Ƀo�[�W���� 1.0 �Ƃ��čŏ��̃����[�X���s��ꂽ�B����ȍ~�̃o�[�W������ Philip Zimmermann �̐݌v�w�j�̉��A�{�����e�B�A�����̋����w�͂ɂ���Đ݌v�E��������ė����BPGP �� Pretty Good Privacy �� Philip Zimmermann �̏��W�ł���B

���̕����� PGP �̃o�[�W���� 2.x �ɕt���Đ�������B��̓I�ɂ́A�o�[�W���� 2.6 �� 2.7 �����̋K��ɏ]���B�o�[�W���� 2.3 �͎኱�̍���������Ă��̋K��ɏ]���B

PGP3.0 �Ƃ��Ēm���� PGP �̐V���������[�X�� 1995 �N�ɗ\�肳��Ă���B�ő���”\�Ȕ͈͂ŁA����̓o�[�W���� 2.x �Ə�ʌ݊��������‚��낤�B�Œ�ł� PGP3.0 �̓o�[�W���� 2.x �Ő������ꂽ�����ƃ��b�Z�[�W�Ƃ�ǂނ��Ƃ͏o���邾�낤�B

2. PGP �T�[�r�X

PGP �̓��b�Z�[�W�ƃf�[�^�t�@�C���̌`���ƂɊ֘A���� 4 �‚̃T�[�r�X�A�f�W�^�������E�閧�ێ��E���k�Eradix-64 �ϊ���񋟂���B

2.1 �f�W�^������

�f�W�^�������T�[�r�X�ɂ́A�n�b�V���R�[�h�E���b�Z�[�W�_�C�W�F�X�g�E�A���S���Y���E���J���Í��A���S���Y���̎g�p���܂܂��B���̏����͈ȉ��̒ʂ�B

�ʏ�A�����̓��b�Z�[�W�܂��͏������ꂽ�t�@�C���ɌŒ�����邪�A�K�����������ł���K�v�͂Ȃ��A�������ꂽ�������T�|�[�g����Ă���B�������ꂽ�����́A���ꂪ�������Ă��郁�b�Z�[�W�Ƃ͕ʂɑ��M�E�ۑ�����Ă��悢�B����͂����‚��̏󋵂ŗL�p�ł���B���[�U�[�͑���M���ꂽ�S���b�Z�[�W�̌X�̏����̃��O��ێ��������ƍl���邱�Ƃ��ł���B���s�”\�v���O�����ɑ΂��Ă̕��������́A���̌�ɋN���邩������Ȃ��E�B���X���������o�ł���B�������ꂽ�����͂���ɁA�@����̌_��Ƃ�������ˆȏ�̃O���[�v�������ɏ������Ȃ���΂Ȃ�Ȃ��ꍇ�ɂ����p�ł���B����͊e�l�̏������Ɨ����Ă���̂ŁA���̕����ɂ����K�p����邽�߂ł���B���������łȂ���΁A��Ԗڂ̏����҂����̕����ƍŏ��̏����Ƃ̗����ɏ�������Ƃ����悤�ɌJ��Ԃ��������Ă����A�������l�X�g�����Ȃ���΂Ȃ�Ȃ��B

2.2 �閧�ێ�

�]������郁�b�Z�[�W�⃍�[�J���ɕۑ�����f�[�^�t�@�C����̂Ȃ���̈Í����g�p���ĈÍ������邱�ƂŁAPGP �͔閧�ێ���񋟂���BPGP �ł͏]���̌��͈�x�����g�p�����B���Ȃ킿�A���b�Z�[�W���ɐV�������� 128 �r�b�g�̗����Ƃ��Đ��������̂ł���B��x�����g�p����Ȃ����̂ɁA�Z�b�V�������̓��b�Z�[�W�ɕt�����Ĉꏏ�ɑ��M�����B����ی삷�邽�߂ɁA���͎�M�҂̌��J���ňÍ��������B���̈�A�̎菇�͈ȉ��̒ʂ�B

���̂悤�ɂ��ăf�W�^�������Ɣ閧�ێ��Ƃ𓯂����b�Z�[�W�ɓK�p���邱�Ƃ��ł���B�ŏ��ɂ��̃��b�Z�[�W�̏������쐬�����b�Z�[�W�ɒlj�����B���ɒʏ�̃Z�b�V���������g�p���ă��b�Z�[�W�Ə����Ƃ��Í�������B�Ō�ɃZ�b�V�����������J���ňÍ������A�Í��u���b�N�ɒlj�����B

2.3 ���k

�f�t�H���g�� PGP �́A�����̓K�p��A�Í����̑O�Ƀ��b�Z�[�W�����k����B

2.4 Radix-64 �ϊ�

�ʏ� PGP ���g�p�����ꍇ�A���M�����u���b�N�̈ꕔ���Í��������B�����T�[�r�X�݂̂��g�p�����ꍇ�ɂ̓��b�Z�[�W�_�C�W�F�X�g��(���M�҂̔閧�����g����)�Í��������B�閧�ێ��T�[�r�X�݂̂��g�p����ꍇ�ɂ̓��b�Z�[�W��(���������)�����Ƃ�(1 �����̌����g����)�Í��������B���������Č��ʂƂ��Đ��������u���b�N�̈ꕔ�܂��͑S���́A����ׂȃo�C�g(8 �r�b�g)�̃X�g���[������\������邱�ƂɂȂ�B�������Ȃ��瑽���̓d�q���[���V�X�e���� ASCII �e�L�X�g����\�������u���b�N�̎g�p���������‚��Ă���B���̐���ɑΉ����邽�߁APGP �͐��� 8 �r�b�g�o�C�i���X�g���[��������”\�� ASCII �����X�g���[���ɕϊ�����T�[�r�X��񋟂��Ă���B����� ASCII ���b�ƌĂ΂��B

���̖ړI�Ɏg�p�����d�g�݂� radix-64 �ϊ��ł���B�o�C�i���f�[�^ 3 �o�C�g�� 4 ������ ASCII �����Ƀ}�b�v�����B�]���G���[�����o���邽�߂� CRC ���lj������B���� ASCII ���b�Ƃ��Ă΂�� radix-64 �ϊ��̓o�C�i���� PGP ���b�Z�[�W�̃��b�p�[�ł���A�C���^�[�l�b�g�d�q���[���̂悤�Ȕ�o�C�i���`�����l�����o�R����ʐM�ɂ����āA�o�C�i�����b�Z�[�W��ی삷�邽�߂Ɏg�p�����B

�ȉ��̕\�̓}�b�s���O�̒�`�ł���B�g�p����镶���́A�啶���E�������E0�`9 �̐����E+�E- �ł���B���A��������s�����͕ϊ��Ɏg�p���ꂸ�A�^�u������A���[���V�X�e���ɂ���ĕύX����邩������Ȃ����̕������g�p����Ȃ��B���̌��ʂ̓��[���V�X�e���ɂ���ĉ�������ύX���� "�Ƃꂽ(immune)" �e�L�X�g�t�@�C���ƂȂ�B

 6�r�b�g           6�r�b�g            6�r�b�g            6�r�b�g
   �l    ��������    �l     ��������    �l     ��������     �l    �������� 
   0        A        16        Q        32        g        48        w
   1        B        17        R        33        h        49        x
   2        C        18        S        34        i        50        y
   3        D        19        T        35        j        51        z
   4        E        20        U        36        k        52        0
   5        F        21        V        37        l        53        1
   6        G        22        W        38        m        54        2
   7        H        23        X        39        n        55        3
   8        I        24        Y        40        o        56        4
   9        J        25        Z        41        p        57        5
   1        K        26        a        42        q        58        6
   11       L        27        b        43        r        59        7
   12       M        28        c        44        s        60        8
   13       N        29        d        45        t        61        9
   14       O        30        e        46        u        62        +
   15       P        31        f        47        v        63        /
                                                         (�l��)      =

�C�ӂ̃t�@�C���� ASCII ���b�ɕϊ����邽�߂� PGP ���g�p���邱�Ƃ�������Ă���B���̏ꍇ�t�@�C���� Radix-64 �ɕϊ�����O�ɁAPGP �͂��̃f�[�^�̈��k�����݂�B

2.4.1 ASCII���b�t�H�[�}�b�g

�f�[�^�� ASCII ���b�ɃG���R�[�h���鎞�Ƀf�[�^�̑O��ɓ���ȃw�b�_��}�����邱�Ƃɂ��APGP �͌�Ńf�[�^���č\�z�ł���BPGP �͂��̃w�b�_���g�p���āAASCII ���b�̒��ɂǂ̂悤�Ȏ�ނ̃f�[�^���G���R�[�h����Ă���̂����g�p�҂ɒm�点�悤�Ƃ���B

ASCII ���b�͈ȉ��̃f�[�^��A�����邱�ƂŐ��������B

  • ���b�w�b�_�s(�f�[�^�̎�ʂɉ��������e)
  • ���b�w�b�_
  • ��s
  • ASCII ���b�f�[�^
  • ���b�`�F�b�N�T��
  • ���b�e�[��(���b�w�b�_�s�Ɉˑ�����)
  • ���b�w�b�_�s�́A�w�b�_�s�̗��T�C�h�� 5 �‚̃_�b�V���L��(-)�ň͂񂾓K�؂ȃw�b�_�s�e�L�X�g�����‚��Ƃō\�������B���b���ɃG���R�[�h����Ă���f�[�^�̎�ނƃG���R�[�h���@�ƂɊ�Â��ăw�b�_�s�̃e�L�X�g���I�������B�w�b�_�s�̃e�L�X�g�͈ȉ��̕�������܂ށB

    BEGIN PGP MESSAGE
    �������ꂽ�t�@�C���A�܂��͈Í������ꂽ�t�@�C���A�܂��͈��k���ꂽ�t�@�C���Ɏg�p�����B
    BEGIN PGP PUBLIC KEY BLOCK
    ���J���̑��M���Ɏg�p�����B
    BEGIN PGP MESSAGE, PART X/Y
    �}���`�p�[�g���b�Z�[�W�Ŏg�p�����BY �‚̃t�@�C���ɕ�������Ă���AY �‚̓��� X �Ԗڂł��邱�Ƃ�\��

    ���b�w�b�_�́A�g�p�҂��M�� PGP �v���O�����ɂ��̃��b�Z�[�W�̉�ǂ◘�p�̕��@�Ɋւ������^���镶����̑g�ł���B���b�w�b�_�̓��b�Z�[�W�̈ꕔ�ł͂Ȃ��A���b�̈ꕔ�ł���B���������ĒʐM���ɕύX�����”\�������邽�߁A�d�v�ȏ���`���邽�߂Ɏg�p����ׂ����̂ł͂Ȃ��B

    ���b�w�b�_�̃t�H�[�}�b�g�� RFC-822 �w�b�_�̃G���R�[�h���@�ł��� "�L�[ - �l" �̑g�̌`���ł���BPGP �͕s���Ȍ`���̑��b�w�b�_�� ASCII ���b�̉����ł���ƌ��Ȃ��ׂ��ł���B�s���ȃL�[�͎g�p�҂ɕ񍐂����ׂ������A������ RFC-822 �t�H�[�}�b�g�ł������APGP �̓��b�Z�[�W��������������ׂ��ł���B���ݒ�`����Ă��鑕�b�w�b�_�L�[�� "Version" �� "Comment" �ł���A���ꂼ�ꃁ�b�Z�[�W����ǂ��邽�߂� PGP �̃o�[�W�����ƃ��[�U�[��`�̃R�����g�ł���B

    ���b�`�F�b�N�T���� 24 �r�b�g �� CRC �ł���Aradix-64 �ɂ�� 4 �o�C�g�ɕϊ�����A���� 4 �o�C�g�̐擪�ɓ���(=)���t������B���� CRC �͏����l 0xB704CE �ƃW�F�l���[�^ 0x864CFB �Ƃ��g�p���Čv�Z�����B���̌v�Z�� radix-64 �ϊ���̃f�[�^�ɑ΂��Ăł͂Ȃ��A�ϊ��O�̃f�[�^�ɑ΂��čs����BCRC �@�\�Ɋւ��邳��Ȃ���́AJoe Cambell �� "C Programmer's Guide to Serial Communications," �� 19 �͂��Q�Ƃ��Ăق����B

    "BEGIN" �� "END" �ɒu������邱�Ƃ������A���b�e�[���͑��b�w�b�_�Ɠ����\���ł���B

    3. �f�[�^�v�f�t�H�[�}�b�g

    3.1 �o�C�g������

    ���̕����ōl������Ă���Ώۂ͑S�� "�o�C�g������" �ł���B�o�C�g������͗L���̘A���o�C�g�ł���B���� M �̃o�C�g������ X �ƒ��� N �̃o�C�g������ Y �Ƃ̘A���́A���� M + N �̃o�C�g������ Z �ł���B������ Z �̍ŏ��� M �o�C�g�͓��������� X �̃o�C�g�Ɠ���ł���AZ �̎c��� N �o�C�g�͓��������� Y �̃o�C�g�Ɠ���ł���B

    ���e�����̃o�C�g������� 16 �i 4 �r�b�g�̑΂�������E�ɋ󔒕����ŋ�؂��ď�����A�A���O���u���P�b�g�ň͂܂��B�Ⴆ�� <05 ff 07> �́A���l 5�A255�A7 �����̏��Ɏ��’��� 3 �o�C�g�̃o�C�g������ł���B���̕����ł̓A���O���u���P�b�g�̊O�̐��l�͑S�� 10 �i�ŏ�����Ă���B

    ���� 0 �̃o�C�g������� "��(empty)" �ƌĂ΂�A<>�Ə����B

    3.2 �����t�B�[���h

    �p�r�B�����t�B�[���h�͔C�ӂ̔񕉂̐�����\���ł���`���ł���A�O�����ăt�B�[���h�����������Ă���ꍇ�Ɏg�p�����B

    ��`�B�����t�B�[���h�͔C�ӂ̃o�C�g������ł���Aradix-256 MSB-first �`��(�ŏ�ʃr�b�g���擪�ɗ���`��)�ŕۑ������B����́A�o�C�g�� b_0 b_1 ... b_{N-2} b_{N-1}�����̏��Ŏ��’��� N �̐����t�B�[���h���ȉ��̒l�����‚��Ƃ��Ӗ�����B

    b_0 * 256^{N-1} + b_1 * 256^{N-2} + ... + b_{N-2} * 256 + b_{N-1}.

    ��B�o�C�g������ <00 0D 64 11 00 00> �͒l 57513410560 �����—L���Ȑ����t�B�[���h�ł���B�o�C�g������ <FF> �͒l 255 �����—L���Ȑ����t�B�[���h�ł���B�o�C�g������ <00 00> �͒l 0 �����—L���Ȑ����t�B�[���h�ł���B��o�C�g������ <> �͒l 0 �����—L���Ȑ����t�B�[���h�ł���B

    3.3 �������x�t�B�[���h

    �ړI�B�������x�t�B�[���h�́A�傫�߂��Ȃ��񕉂̐�����\���ł���B�t�B�[���h�����O�����ĕ������Ă���K�v�͂Ȃ��B�������x�t�B�[���h�͔��ɏ������̈悵������Ȃ��悤�ɐ݌v����Ă���(�����������ɂ͒Z���t�B�[���h���g����)�B

    ��`�B�������x�t�B�[���h�͈ȉ��̓�‚̃t�B�[���h��A���������̂ł���B

    (a) ���� 2 �̐����t�B�[���h �l B
    (b) �����t�B�[���h �l V

    �t�B�[���h(b)�̒�����[(B+7)/8]�ł���(�‚܂�ő�ł� (B+7)/8 �𒴂��Ȃ�)�B�������x�t�B�[���h�̒l�� V �ł���ƒ�`�����BV �� 2^{B-1} �� 2^B - 1 �̊ԂɊ܂܂�Ȃ���΂Ȃ�Ȃ��B����������ƁAB �� V �̗L���r�b�g���Ɛ��m�Ɉ�v���Ȃ��Ă͂Ȃ�Ȃ��B

    ������ B �̎�肤��͈͂𐧌����Ă��悢�B�����҂� B �ɋ������l�͈̔͂𖾕������Ȃ���΂Ȃ�Ȃ��B

    ��B�o�C�g������ <00 00> �͒l 0 �����—L���ȕ������x�����ł���B�o�C�g������ <00 03 05> �͒l 5 �����—L���ȕ������x�t�B�[���h�ł���B�o�C�g������ <00 03 85> ����� <00 00 00> �͗L���ȕ������x�t�B�[���h�ł͂Ȃ��B�O�҂� <85> �� 3 �r�b�g�ł͂Ȃ� 8 �r�b�g�̗L���r�b�g�����‚��߁A��҂͑��t�B�[���h�����t�B�[���h�̒l�ŗ^������f�[�^�̃o�C�g����葽�����߁A�����ł���B�o�C�g������ <00 09 01 ff> �͒l 511 �����—L���ȕ������x�t�B�[���h�ł���B�o�C�g������ <01 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07> �͒l 2^255 + 7 �����—L���ȕ������x�t�B�[���h�ł���B

    3.4 ������t�B�[���h

    �ړI�B������t�B�[���h�� 0 ���� 255 �̒��������”C�ӂ̘A���o�C�g��\���B���O�ɒ������������Ă���K�v�͂Ȃ��B�K���I�ɕ�����t�B�[���h�̓��e�́A�\������鎞�ɂ� ASCII �R�[�h�ɕϊ������B

    ��`�B������t�B�[���h�͈ȉ��̓��e�����B

    (a) ���� 1 �̐����t�B�[���h �l L
    (b) ���� L �̃o�C�g������

    ������t�B�[���h�̓��e�̓t�B�[���h(b)�ɒ�`�����B

    ��B<05 48 45 4c 4c 4f> �́A�ʏ� HELLO �ƕ\�������L���ȕ�����t�B�[���h�ł���B<00> �͒ʏ�󕶎��Ƃ��ĕ\�������L���ȕ�����t�B�[���h�ł���B<01 00> �͗L���ȕ�����t�B�[���h�ł���B

    3.5 �����t�B�[���h

    �ړI�B�����t�B�[���h�� 1970 Jan 1 00:00:00 GMT ����̌o�ߕb����\���B����� UNIX �‹��ł̈�ʓI�Ȏ����\���ƌ݊��������B

    ��`�B�����t�B�[���h�͒��� 4 �̐����t�B�[���h�ł���B�l V �̎����t�B�[���h���\�������́A1970 Jan 1 00:00:00 GMT ����_�Ƃ��� V �b�ڂ���n�܂��b�Ԃł���B

    4. ���ʃt�B�[���h

    ���̃Z�N�V�����ł� 2 �ˆȏ�̃p�P�b�g����\�������t�B�[���h���`����B

    4.1 �p�P�b�g�\���t�B�[���h

    �ړI�B�p�P�b�g�\���t�B�[���h�͈قȂ�^�C�v�̃p�P�b�g����ʂ�����A�p�P�b�g����\�����肷��B

    ��`�B�p�P�b�g�\���t�B�[���h�̓o�C�g������ł���A������ 1�E2�E3�E5 �̉��ꂩ�ł���B���̐擪�o�C�g�͈Í��^�C�v�o�C�g(CTB:cipher type byte)�ł���A�e�r�b�g�� 76543210 �ƃ��x���t������A7 ���ŏ�ʃr�b�g�A0 ���ʼn��ʃr�b�g�ł���B�ȉ��Ŏ����ʂ�A�p�P�b�g�\���t�B�[���h�̒����� CTB �ɂ���Č��肷��B

    CTB �̃��x�� 76 �̃r�b�g�͈ȉ��̕\�Ɏ����l�����B

    10 - �ʏ�� CTB
    11 - �����̎����I��Ƃ̂��߂ɗ\��ς�
    ���̑� - �\��ς�

    CTB �̃��x�� 5432 �̃r�b�g("�p�P�b�g�^�C�v�r�b�g")�͈ȉ��̕\�Ɏ����l�����B

    0001 - ���J�������p�P�b�g
    0010 - �����p�P�b�g
    0101 - �閧���ؖ��p�P�b�g
    0110 - ���J���ؖ��p�P�b�g
    1000 - ���k�f�[�^�p�P�b�g
    1001 - ���p�������p�P�b�g
    1011 - ���e�����f�[�^�p�P�b�g
    1100 - �������O�M���p�P�b�g
    1101 - ���[�U�[ ID �p�P�b�g
    1110 - �R�����g�p�P�b�g (*)
    ���̑� - �\��ς�

    CTB �̃��x�� 10 �̃r�b�g("�p�P�b�g���r�b�g")�͈ȉ��̕\�Ɏ����l�����B

    00 - �p�P�b�g���� 1 �o�C�g�̃t�B�[���h
    01 - �p�P�b�g���� 2 �o�C�g�̃t�B�[���h
    10 - �p�P�b�g���� 4 �o�C�g�t�B�[���h
    11 - �p�P�b�g�����񋟂���Ă��Ȃ��B�p�P�b�g�����s���B

    ���̕\�Ŏ�����Ă���悤�ɁA�p�P�b�g���r�b�g�ɉ����āA�p�P�b�g�\���t�B�[���h�̎c��� 1�E2�E4 �o�C�g�܂��� 0 �o�C�g�� "�p�P�b�g���t�B�[���h" �ƂȂ�B�p�P�b�g���t�B�[���h�͐����t�B�[���h�ł���A���̐����t�B�[���h�̒l���p�P�b�g���t�B�[���h�̒l�ł���B

    ���݂̂Ƃ���l 11 �͈��k�f�[�^�ɂ����Ă̂ݎg�p����Ă���B�‚܂茻��ł́A���k���ꂽ�f�[�^�u���b�N�͗Ⴆ�� <A3 01 . . .> �̂悤�Ȍ`�ŁA������ <A3>(2 �i�� 10 1000 11)�͕s�蒷�p�P�b�g��\���Ă���B���ꂪ�ł��O��(�͂ݍ\���̏I��肪�t�@�C���ł���ʒu)�Ɍ���邱�Ƃ͌����ĂȂ����A���̓K�؂ȉ��߂� "�͂ݍ\���̏I���܂�" �ł���B

    (*)�̕t�����I�v�V�����͂܂��������ꂨ�炸�APGP2.6.2 �����̃p�P�b�g�^�C�v���o�͂��邱�Ƃ͂Ȃ��B

    4.2 ���l ID �t�B�[���h

    �ړI�B������ ID �́A���̉��� 64 �r�b�g�ł���B���̂悤�ȑ傫�Ȑ��l�����ʂ���ꍇ�ɐ��l�� ID �͓s���̂悢���@�ł���A���l�S�̂𑗐M����K�v���Ȃ��B�‚܂�\�i���ł̒��������S���A���猅�ɂȂ邩������Ȃ����l���A64 �r�b�g�̎��ʎq�ŕ\���ł���Ƃ������Ƃł���B�����_���ɑI�΂ꂽ��‚̑傫�Ȍ������� ID �����Šm���͋ɒ[�ɏ��������A���R�∫�ӂɂ���ē�‚̌������� ID �����‰”\���͂���B

    ��`�B���l ID �t�B�[���h�͒��� 8 �̐����t�B�[���h�ł���B���l ID �t�B�[���h�̒l�͂��̐����t�B�[���h�̒l�ł���B

    4.3 �o�[�W�����t�B�[���h

    �����̃p�P�b�g�^�C�v�́A���̖{�̂̍ŏ��̃o�C�g�Ƃ��ăo�[�W�����t�B�[���h���܂ށB�{�̂̌`���Ƃ��̈Ӗ��́A���̃o�[�W�����ԍ��Ɉˑ�����B�V�����o�[�W�����ԍ������ƒp�P�b�g��������`����Ă��悢�B�������e�X�̃p�P�b�g�^�C�v�̑S�Ẵo�[�W�������T�|�[�g����K�v�͂Ȃ��B�������Ȃ�������҂́A���̎������e�X�̃p�P�b�g�^�C�v�̂ǂ̃o�[�W�������T�|�[�g���Ă���̂��𖾕������Ȃ���΂Ȃ�Ȃ��B

    ����ł͊e�X�̃p�P�b�g�`���ɑ΂��ăo�[�W�����ԍ� 2 �܂��� 3 �����‚���Ă���B�V�����o�[�W�����́A�����炭 3 ����A�����Ĕԍ��t������邾�낤�B���ʌ݊����̂��߂ɁA�o�[�W���� N+1 �̃p�P�b�g���T�|�[�g���Ă�������́A�o�[�W���� N �̃p�P�b�g���T�|�[�g���Ă��邱�Ƃ����҂���邾�낤�B�o�[�W���� 255 �͎����I�ȖړI�̂��߂Ɏg�p����邱�Ƃ�������Ă���B

    5. �p�P�b�g

    5.1 �T��

    �p�P�b�g�͓����Ƀf�[�^�����ƒf�W�^���ȃG���x���[�v�ł���B��`�ɂ�� PGP �t�@�C���� 1 �ˆȏ�̃p�P�b�g��A���������̂ł���B�܂� 1 �t�@�C���̒��� 1 �ˆȏ�̃p�P�b�g���A�Í��E���k�Eradix-64�ϊ����g�p�����ϊ��̉e�����󂯂Ă����悢�B

    �p�P�b�g�͈ȉ��̓��e��A���������̂ł���B

    (a) 1 �‚̃p�P�b�g�\���t�B�[���h
    (b) ���� N �̃o�C�g������

    �o�C�g������(b)�̓p�P�b�g�� "�{��" �ƌĂ΂��B�p�P�b�g�\���t�B�[���h(a)���̃p�P�b�g���t�B�[���h�̒l�́AN ���Ȃ킿�{�̂̒����ƈ�v���Ȃ���΂Ȃ�Ȃ��B

    �p�P�b�g�̂��̑��̓����̓p�P�b�g�^�C�v�ɂ���Č��肳���B����̃p�P�b�g�^�C�v�̂���Ȃ�ڍׂɕt���ẮA���̒�`���Q�Ƃ��Ăق����B�p�P�b�g�\���̒��� CTB �p�P�b�g�^�C�v�r�b�g�͏�ɂ��̃p�P�b�g�^�C�v�������B

    �p�P�b�g�̓l�X�g�����(����f�W�^���G���x���[�v�̒��ɕʂ̃f�W�^���G���x���[�v�����݂���)�”\�������邱�Ƃɒ��ӂ��Ăق����B�Ⴆ�Ί��p���Í����p�P�b�g�͋U�����ꂽ�p�P�b�g�����Ă���A����͈��k�f�[�^�p�P�b�g��������Ȃ��B

    5.2 ��ʓI�ȃp�P�b�g�\��

    PGP �t�@�C���� 3 �‚̗v�f�A���b�Z�[�W���E����(�C��)�E�Z�b�V������������\�������B

    5.2.1 ���b�Z�[�W��

    ���ۂ̃f�[�^���܂ރ��b�Z�[�W���́APGP �ɂ���Đ������ꂽ��������܂ރw�b�_�Ɠ����悤�ɑ��M�E�ۑ������B���b�Z�[�W���͒P�Ƃ̃��e�����f�[�^�p�P�b�g����\�������B

    5.2.2 ������

    �������̓��b�Z�[�W���̏����ł���A���M�� PGP �̌��J���ƃ��b�Z�[�W���̃n�b�V���R�[�h�Ƃ��g���č����B�������͒P�Ƃ̏����p�P�b�g����\�������B

    ���k�̃f�t�H���g�I�v�V�������I�����ꂽ�ꍇ�A���e�����f�[�^�p�P�b�g�Ə����p�P�b�g�Ƃ��܂ރu���b�N�͈��k����A���k�f�[�^�p�P�b�g�ƂȂ�B

    5.2.3 �Z�b�V��������

    �Z�b�V���������́A�Í������ꂽ�Z�b�V�������ƁA�Z�b�V���������Í������邽�߂ɑ��M�҂ɂ���Ďg�p���ꂽ��M�҂̌��J���̎��ʎq�Ƃ��܂ށB�Z�b�V���������͂��̃��b�Z�[�W�̎�M�җp�̒P�Ƃ̌��J���p�P�b�g����\�������B

    ���k���g�p�����ꍇ�A�����p�P�b�g�ƃ��e�����f�[�^�p�P�b�g�Ƃ����k�������k�f�[�^�p�P�b�g�Ɋ��p�Í����K�p�����B�����łȂ���΁A���p�Í��͏����p�P�b�g�ƃ��e�����f�[�^�p�P�b�g�Ƃ̃u���b�N�ɓK�p�����B�ǂ���̏ꍇ���A���̈Í����͊��p���Í����f�[�^�p�P�b�g�ƌĂ΂��B

    6. PGP �p�P�b�g�^�C�v

    PGP �͈ȉ��̃^�C�v�̃p�P�b�g���܂ށB

    6.1 ���e�����f�[�^�p�P�b�g

    �ړI�B���e�����f�[�^�p�P�b�g�̓f�W�^���G���x���[�v�̍ʼn��ʃ��x���̓��e�ł���B���e�����f�[�^�p�P�b�g�����̃f�[�^�� PGP ���炻��ȏ�̕ϊ����������邱�Ƃ͂Ȃ��B

    ��`�B���e�����f�[�^�p�P�b�g�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) 1 �‚̃p�P�b�g�\���t�B�[���h
    (b) ���[�h��\�� 1 �o�C�g
    (c) �t�@�C������\�� 1 �‚̕�����t�B�[���h
    (d) 1 �‚̎����t�B�[���h
    (e) ���e�����f�[�^�̃o�C�g������

    �t�B�[���h(b)(c)(d)�́A���̃f�[�^���ǂ̂悤�Ƀt�@�C���ɏ�����Ă��邩��\���Ă���B�o�C�g(b)�̓o�C�i���p�� ASCII ���� b <62> ���e�L�X�g�p�� ASCII ���� t <74> �̉��ꂩ�ł���B�܂��o�C�g(b)�� ASCII �� 1 �̒l����邱�Ƃ��ł���B���̏ꍇ����̓}�V���ŗL�̕ϊ���\���Ă���APGP ���v���b�g�t�H�[�����܂������Ă����ϊ�������@�͒�`����Ă��Ȃ��B

    �t�B�[���h(c)�̓t�@�C������\���B�t�B�[���h(d)�̓t�@�C�����Ō�ɏC�����ꂽ�������A�f�[�^�p�P�b�g���������ꂽ�����A�܂��� 0 �ƂȂ�ׂ��ł���B

    �����̌`���̂��߂ɂ̓��e�����f�[�^�p�P�b�g�̃t�B�[���h(e)�݂̂����b�Z�[�W�_�C�W�F�X�g�@�\�ɓn����邱�Ƃɒ��ӂ��Ăق����B���̃t�B�[���h��r�����邱�Ƃɂ��A���b�Z�[�W�̑O�ɒlj������Œ������ƕ��������Ƃ����S�Ɉ�v���邱�Ƃ�ۏ؂ł���B���������́A���e�����f�[�^�p�P�b�g�̃w�b�_�t�B�[���h���܂܂Ȃ��X�̃t�@�C���Ɋ�Â��ĎZ�o�����B

    6.2 �����p�P�b�g

    �ړI�B���� 1 �‚̎���(������ "������")�����������𐶐��ł�����@�ŏ����̓f�[�^�ɌŒ������B������͂܂� "���J��" K �𐶐����A�����z�z����B������� K �ɑΉ��������̌l�f�[�^��ۗL����BK ���g�p���ăf�[�^�������p�P�b�g(�閧���Í��Ƃ��Ă��m����)�ɕ�ނ��ƂŁA������ɋ�������l�������f�[�^�ɏ������邱�Ƃ��ł���B�N�ł��ዾ�z���ɃG���x���[�v�̒���������A���̏����� K ���g���ăf�[�^�ɌŒ����ꂽ���Ƃ��m�F������ł���B�ǂ̂悤�ȕ��@�łł��f�[�^���ύX���ꂽ�ꍇ�ɂ́A���̊m�F�͎��s����B

    �����͕ʂ̈Ӗ������B�Ⴆ�Ώ����́A"�������̕�����������" ���邢�� "���͂��̕������󂯎����" �Ƃ������Ƃ��Ӗ����邱�Ƃ��ł���B�����p�P�b�g�́A���̂悤�ȈӖ��̎�ނ�\�� "����" ���܂�ł���B

    ��`�B�����p�P�b�g(�o�[�W���� 2 �܂��� 3)�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) �p�P�b�g�\���t�B�[���h (2 �o�C�g�A3 �o�C�g�A5 �o�C�g�̉��ꂩ)
    (b) �o�[�W�����ԍ� = 2 �܂��� 3 (1 �o�C�g)
    (c) MD �v�Z�Ɋ܂܂��㑱�f�[�^�̒��� (1 �o�C�g�B�l�͏�� 5)
    (d1) �������� (1 �o�C�g)
    (d2) �����̎����� (4 �o�C�g)
    (e) �����Ɏg�p����錮 ID (8 �o�C�g)
    (f) ���J��������(PKC)�^�C�v (1 �o�C�g)
    (g) ���b�Z�[�W�_�C�W�F�X�g�A���S���Y���^�C�v (1 �o�C�g)
    (h) �`�F�b�N�T���Ƃ��Ďg�p����� MD �o�͂̍ŏ��� 2 �o�C�g (2 �o�C�g)
    (i) RSA �������ꂽ�_�C�W�F�X�g��ێ�����Í��f�[�^�̃o�C�g������

    ���b�Z�[�W�_�C�W�F�X�g�̓t�@�C���S�̂̃o�C�g�ƁA���̌�ɑ����t�B�[���h(d)�̃o�C�g�Ƃ���̉e�����󂯂�B���X�͒���(c)���ύX�ł��邱�Ƃ��Ӑ}���Ă������A���݂ł͏�ɒ萔�l 5 �������A���ꂪ�󂯓������B��̒l�ł���悤�Ɏv����B���������ăt�B�[���h(d1)(d2)�݂̂��僁�b�Z�[�W�Ƌ��ɏ����̒��Ƀn�b�V�������B

    6.2.1 ���b�Z�[�W�_�C�W�F�X�g�֘A�t�B�[���h

    ���b�Z�[�W�_�C�W�F�X�g�A���S���Y���̓t�B�[���h(g)�̃��b�Z�[�W�_�C�W�F�X�g(MD)�ԍ��ɂ���Ďw�肳���B���݂̂Ƃ���ȉ��� MD �ԍ�����`����Ă���B

    1 - MD5 (�o�͒� 16)
    255 - �����p

    ��������ɑ����� MD �ԍ�����`����Ă��悢�B�������S�Ă� MD �ԍ����T�|�[�g����K�v�͂Ȃ��B�����҂́A���̎����������ł��� MD �ԍ��𖾕������Ȃ���΂Ȃ�Ȃ��B

    ���b�Z�[�W�_�C�W�F�X�g�A���S���Y���͔C�Ӓ��̃o�C�g�������ǂݍ��݁A��̕\�Ŏ������悤�ȁA�Ȃ�炩�̌Œ蒷�o�C�g��������o�͂���B

    ���b�Z�[�W�_�C�W�F�X�g�A���S���Y���ւ̓��͂� "��v����" �� "�lj�����" �Ƃ�A���������̂ł���B

    �lj����͂̓t�B�[���h(c)�Ŏw�肳��A��ɑ����t�B�[���h(d1)(d2)�Ȃǂ�������o�C�g���������B����̎����ł́A���̐��l�ɂ�(d1)(d2)�̂��߂̒l�ł��� 5 ���g�p�����B�lj����͂Ɋ܂܂�Ȃ��t�B�[���h�̓t�B�[���h(i)�ɂ�� "����" ������Ȃ��B

    ��v���͂͏������ރo�C�g(d1)�ɂ���Č��肳���B�o�C�g(d1)�͈ȉ��� 16 �i���l�̂ЂƂ‚ł���A���ꂼ��ȉ��̈Ӗ������B

    <00>
    ���������B�o�C�i���C���[�W ("�������̕�����������")
    <01>
    ���������B�W���I�ȃe�L�X�g ("�������̕�����������")
    <10>
    ���J���p�P�b�g����у��[�U�[ ID �p�P�b�g�B��ʏؖ�("���̌��͂��̃��[�U�[�ɂ���Đ������ꂽ�Ǝ��͎v�����A���ꂪ�ǂ�قNJm�����͕�����Ȃ�")
    <11>
    ���J���p�P�b�g����у��[�U�[ ID �p�P�b�g�B�l�i�ؖ�("�����͂��̃��[�U�[�ł���A�Ǝ��Ɍ������l�ɂ���Ă��̌��͐������ꂽ") (#)
    <12>
    ���J���p�P�b�g����у��[�U�[ ID �p�P�b�g�B�����ؖ�("�����ؖ��ɂ���Ă��̃��[�U�[�ł���Ǝ����M�����l�ɂ���Ă��̌��͐������ꂽ") (#)
    <13>
    ���J���p�P�b�g����у��[�U�[ ID �p�P�b�g�B�ϋɓI�ؖ�("�ؖ��ʐ^�Ȃǂ̌������g���m�F�ɂ���Ă��̃��[�U�[�ł���Ǝ����M�����l�ɂ���Ă��̌��͐������ꂽ") (#)
    <20>
    ���J���p�P�b�g�B���j�� ("����͎��̌��ł���A���͂����p�~����")
    <30>
    ���J���p�P�b�g����у��[�U�[ ID �p�P�b�g�B������("���̌������̃��[�U�[�ɑΉ�����Ƃ����ȑO�̌��������͑S�ēP�񂷂�") (*)
    <40>
    ������ ("���͂��̕���������") (*)

    ����ȊO�̈Ӗ������������������߂ɁA��������ɑ����̕��ޔԍ�����`����Ă��悢�B�������A�o�[�W���� 2 �܂��̓o�[�W���� 3 �̏����p�P�b�g�ł͏�L�̔ԍ��݂̂��������BPGP 2.6.2 �ł̓A�X�^���X�N(*)�̕t�����p�P�b�g�͎������ꂸ�A�n�b�V��(#)�̕t�����p�P�b�g�͏o�͂���Ȃ����Ƃɒ��ӂ��ׂ��ł���B

    �����p�P�b�g�͓�‚̈قȂ镶���Ŏg�p�����B�ЂƂ�(�����^�C�v <00> �܂��� <01>)�͖{��(���e�����p�P�b�g�̓��e�A�܂��͕����t�@�C���ǂ��炩)�̒��Ŏg�p����A�^�C�v <10> ���� <1F> �͌��t�@�C���̒��ŁA�������錮�ƃ��[�U�[ ID �Ƃ̌�ɂ̂ݎg�p�����B�^�C�v <20> �͌��t�@�C���̒��ŏ������錮�̌�Ɏg�p����A�^�C�v <30> ����/���[�U�[ ID �̑g�ݍ��킹�̌�Ɏg�p�����B�^�C�v <40> �͏��������̌��ؐl�ɂ�镕��̂��߂ɁA�����̏����Ƃ��Ďg�p����邱�Ƃ��Ӑ}���Ă���B

    ���b�Z�[�W�_�C�W�F�X�g�A���S���Y���̏o�͂̓��b�Z�[�W�_�C�W�F�X�g�܂��̓n�b�V���R�[�h�ł���B�t�B�[���h(i)�ɂ́A�����҂̔閧���Ń��b�Z�[�W�_�C�W�F�X�g���Í������Đ������ꂽ�Í������܂܂��B�t�B�[���h(h)�ɂ́A�Í�������Ă��Ȃ����b�Z�[�W�_�C�W�F�X�g�̐擪 2 �o�C�g���܂܂��B���� 2 �o�C�g�Ɖ�ǂ����_�C�W�F�X�g�̐擪 2 �o�C�g�Ƃ��r���邱�ƂŁA���b�Z�[�W�_�C�W�F�X�g�̉�ǂɐ��������J�����g�p���ꂽ���ǂ�������M�҂��m�F�ł���B������ 2 �o�C�g�̓��b�Z�[�W�� 16 �r�b�g�t���[���`�F�b�N�V�[�P���X�Ƃ��Ă����ɗ��B

    6.2.2 ���J���֘A�t�B�[���h

    ������̔閧�����g�p���ĈÍ�������邱�ƂŃ��b�Z�[�W�_�C�W�F�X�g�͏��������B�t�B�[���h(e)�͂���ɑΉ�������J���� ID �ł���B

    �t�B�[���h(f)�̌��J���Í��V�X�e��(PKC)�ԍ��ɂ���Č��J���Í��A���S���Y�������肳���B���݂̂Ƃ���ȉ��� PKC �ԍ�����`����Ă���B

    1 - RSA
    255 - �����p

    ��������ɑ����� PKC �ԍ�����`����Ă��悢�B�������S�Ă� PKC �ԍ����T�|�[�g����K�v�͂Ȃ��B�����҂́A���̎����������ł��� PKC �ԍ��𖾕������Ȃ���΂Ȃ�Ȃ��B

    PKC �ԍ��͌��J���Í����@�Ə������@�Ƃ̗��������ʂ���BPKC �ԍ��̒�`�̈ꕔ�Ƃ��Ă��� 2 �‚̕��@�͊��S�ɒ�`�����B�ꕔ�̈Í��V�X�e���́A�Í��̂݁A�܂��͏����݂̂ɗ��p�ł���B�������̂悤�� PKC �ԍ�����`�����ꍇ�A�����͓K�؂ɔԍ��t������邾�낤�B

    6.2.3 RSA ����

    RSA �������ꂽ�o�C�g������́A���b�Z�[�W�_�C�W�F�X�g���擾���AASN �\���̂𖄂߁A���̌�ɏ����҂� RSA ���̒��̃o�C�g������S�̂��Í������邱�ƂŌ`������镡�����x�t�B�[���h�ł���B

    PGP �o�[�W���� 2.3 �ȍ~�� PKCS �`���̏��������񒆂� MD ���Í�������BPKCS �`���͈ȉ��̒ʂ�B

            MSB               .   .   .                          LSB
            0   1   <FF>(n�o�C�g)   0   ASN(18�o�C�g)   MD(16�o�C�g)
    

    ASN ������͈ȉ��� 18 �o�C�g�� 16 �i���l�ł���BASN ������̈Ӗ��ɂ‚��Ă� RFC1423 ���Q�Ƃ��Ăق����B

            <30 20 30 0C 06 08 2A 86 48 86 F7 0D 02 05 05 00 04 10>
    

    ���̃o�C�g������S�̂̒������W��(modulus)�̒��̃o�C�g���Ɠ����ɂȂ�悤�ɁA���̃o�C�g������ɕK�v�Ȃ��� <FF> �̃o�C�g�l�߂���������B

    6.2.4 ���̑��̃t�B�[���h

    ������t�B�[���h(d2)�́A�����g�̌�̓��t�g�̏����Ɨގ����Ă���B�T�^�I�ɂ͏����p�P�b�g���������ꂽ�u�Ԃɋ߂�������\�����A���ꂪ�K�{�Ƃ����킯�ł͂Ȃ��A�菑���ŏ�������ꍇ�Ɠ����悤�Ƀ��[�U�[���D���Ȏ����������ɕt���邱�Ƃ��ł���B

    �M���ł��鎞����̐������A�v���P�[�V�����������ɗv������ꍇ�A�M���ł��Ȃ�����������•��������́A���̏����p�P�b�g�ɕʂ̏����p�P�b�g�ŏ������邽�߂ɐM���ł��鎞������؃T�[�r�X�ɒ�o����A�����̏��������������B���؂ɂ�鏐���̎�����́A���̏����̐M���ł��� "������(legal)" �����Ƃ��Ďg�p���邱�Ƃ��ł���B

    6.3 ���k�f�[�^�p�P�b�g

    �ړI�B���k�f�[�^�p�P�b�g�́A�������e�ʂ̒��Ɉ��S�ɓ��e���������񂾃G���x���[�v�ł���B

    ��`�B���k�f�[�^�p�P�b�g�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) �p�P�b�g�\���t�B�[���h
    (b) ���k�^�C�v������ 1 �o�C�g
    (c) ���k�f�[�^�̃o�C�g������

    �o�C�g������(c)�́A�o�C�g(b)�Ŏ������A���S���Y����p���ēW�J�”\�ȃp�P�b�g�ł���B�T�^�I�ɂ́A���k���ꂽ�f�[�^�̓��e�����f�[�^�p�P�b�g�A�܂��̓��e�����f�[�^�p�P�b�g�ɘA�����ꂽ�����p�P�b�g����\�������B

    ���k�^�C�v�͈��k�f�[�^�p�P�b�g�Ŏg�p����Ă��鈳�k�A���S���Y����\���B���݂̂Ƃ���ȉ��̈��k�ԍ�����`����Ă���B

    1 - ZIP
    255 - �����p

    ��������ɑ����̈��k�ԍ�����`����Ă��悢�B�������S�Ă̈��k�ԍ�(�󒍁F������ "every MD number" �ƂȂ��Ă��܂����A�������炢���� "every compression number" �̊ԈႢ�Ȃ̂Łu���k�ԍ��v�Ƃ��܂���)���T�|�[�g����K�v�͂Ȃ��B�����҂́A���̎����������ł��鈳�k�ԍ��𖾕������Ȃ���΂Ȃ�Ȃ��B

    6.4 ���p�������f�[�^�p�P�b�g

    �ړI�B�����^�C���Z�b�V���������g���Ċ��p���Í��A���S���Y���Ńf�[�^�u���b�N���Í������邱�ƂŊ��p���Í����f�[�^�p�P�b�g�͌`�������B�T�^�I�ɂ́A�Í��������u���b�N�͈��k�f�[�^�p�P�b�g�ł���B

    ��`�B���p���Í����f�[�^�p�P�b�g�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) �p�P�b�g�\���t�B�[���h
    (b) �Í��f�[�^�̃o�C�g������

    �t�B�[���h(b)���`������Í������ꂽ�����܂��͈��k���ꂽ�����ɂ́A�擪�� 64 �r�b�g�̗����f�[�^�� 16 �r�b�g�� "���m�F(key check)" ���lj������B���̗����� 64 �r�b�g�̗����l�𔺂��Í��t�B�[�h�o�b�N�`�F�C������(cipher feedback chaining process)�̊J�n�ɖ𗧂B�‚܂肱��́A�Í��u���b�N�`�F�C���Í��@(cipher-block-chaining encryption scheme)�̂��߂̏������x�N�^�[(IV)�Ɠ����@�\��񋟂���Ƃ������Ƃł���B���m�F�͗����̍Ō�� 16 �r�b�g�Ɠ������B��ǒ��ɁA��ǂ��ꂽ�f�[�^�̑� 7 �o�C�g�E�� 8 �o�C�g���� 9 �o�C�g�E�� 10 �o�C�g�ƈ�v���邩�ǂ����̔�r���s����B������v����Ȃ�A��ǂɎg�p���ꂽ���p�Z�b�V�������͐��������̂ƌ��Ȃ����B

    6.4.1 ���p���^�C�v�o�C�g

    �ړI�B���p�Í��^�C�v�o�C�g�́A�g�p����Ă��銵�p�Í��A���S���Y���̎�ނ̊m�F�Ɏg�p�����B����ɂ��̃A���S���Y���^�C�v�o�C�g�́A�g�p����Ă���A���S���Y���Ɋ�Ċ��p�Í����̒�������`����B

    ��`�B���p�Í��^�C�v�o�C�g�� 1 �o�C�g�ł���A�g�p����Ă���A���S���Y�����`����B�g�p���̃A���S���Y�����lj��̒�`��v�����邱�Ƃ�������Ă���A�Ⴆ�Βlj��̒�`�Ƃ��Č�����v������ꍇ�A�T�|�[�g����錮�̒����𖾕������邱�Ƃ͎����҂̐ӔC�ł���B

    1 - IDEA (16-byte key)
    255 - �����p

    6.5 ���J�������p�P�b�g

    �ړI�B���J���Í����p�P�b�g�̓��b�Z�[�W�̃Z�b�V�����������̂��߂̌`���ł���B���̃p�P�b�g�̖ړI�́A��M�҂ւ̃��b�Z�[�W���Í������邽�߂̃����^�C���Z�b�V�����������S�ȕ��@�ʼn^�Ԃ��Ƃł���B��M�҂������Z�b�V�������𕜌��ł���悤�ɁA��M�҂̌��J���ŃZ�b�V���������Í������邱�Ƃł���͎��������B

    ��`�B���J���Í����p�P�b�g(�o�[�W���� 2 �܂��� 3)�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) �p�P�b�g�\���t�B�[���h
    (b) �o�[�W�����ԍ� 2 �܂��� 3 ��\�� 1 �o�C�g
    (c) ���� ID ���������l ID �t�B�[���h
    (d) PKC �ԍ���\�� 1 �o�C�g
    (e) �Í����f�[�^(DEK)�̃o�C�g������

    �o�C�g������(e)�̓Z�b�V�������̒l��\���A�o�C�g(d)�Ŏ��ʂ����Í��V�X�e���ɏ]���ēǂݎ�̌��J�� K ���g���ĈÍ��������B

    �t�B�[���h(c)�̒l�͌��J�� K �� ID �ł���B

    ���̃p�P�b�g���m���� K �����ʂ���킯�ł͂Ȃ����Ƃɒ��ӂ��Ăق����B��‚̌��͋��R�∫�ӂɂ���ē��� ID �����‚�������Ȃ��B�ʏ�͂��̃p�P�b�g�𐶐�����̂Ɍ� K ���g��ꂽ�������疾�炩���낤���A���炩�ł͂Ȃ��ꍇ�����肤��B���̂悤�ȏꍇ�A�t�B�[���h(c)�����ɗ��B�Ⴆ�΁A�����̌��𐶐����Ă���ǂݎ肪���b�Z�[�W���󂯂Ƃ����ꍇ�A�t�B�[���h(c)�̒l�ƈ�v���� ID �����Œ��������g�p���ă��b�Z�[�W�̉�ǂ����݂�ׂ��ł���B���R�ɂ����� ID �����Œ��𐶐����Ă����ꍇ�ɂ͗����̌��Ń��b�Z�[�W�̉�ǂ����݂Ȃ���΂Ȃ�Ȃ����A���̂悤�ȏ󋵂����R�ɋN���邱�Ƃ͂ƂĂ����肻���ɂȂ��B

    6.5.1 RSA �����f�[�^����(DEK)

    �f�[�^�Í���(DEK)�� RSA �Í����o�C�g����������•������x�t�B�[���h�ł���B���̃o�C�g������́A���b�Z�[�W�̈Í����Ɏg�p�����閧����(���J���Í����p�P�b�g���ɖ���ׂɃo�C�g�l�߂���)PKCS �G���R�[�h�������̂ł���B

    PGP �o�[�W���� 2.3 �ȍ~�́A�ȉ��̃t�H�[�}�b�g���g�p���� DEK �� MPI �ɃG���R�[�h����B

         MSB                       .   .   .                       LSB
          0   2   RND(n�o�C�g)   0  ALG(1�o�C�g)  DEK(k�o�C�g)  CSUM(2�o�C�g)
    

    ALG �̓f�[�^�p�P�b�g���Í������邽�߂Ɏg�p�����閧���A���S���Y����\���A���S���Y���o�C�g�ł���BDEK �͎��ۂ̃f�[�^�Í����ł���A���̃T�C�Y�� ALG �Œ�`�����Í��A���S���Y���Ɉˑ�����B�^�C�v�o�C�g 1 �� IDEA �Í��A���S���Y���̏ꍇ�ADEK �̒����� 16 �o�C�g�ł���BCSUM �� DEK �� 16 �r�b�g�`�F�b�N�T���ł���A���̃p�P�b�g����ǂ���̂ɐ������閧�����g�p���ꂽ���Ƃ��m�F���邽�߂Ɏg�p�����BRND �͈Í�������̂Ɏg�p����� RSA �閧���̃T�C�Y�𖞂����悤�Ƀo�C�g�S�̂��g�����邽�߂̖���ׂȃo�C�g�l�߂ł���B

    6.6 ���J���p�P�b�g

    �ړI�B���J���p�P�b�g�� RSA ���J�����`����B

    ��`�B���J���p�P�b�g�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) �p�P�b�g�\���t�B�[���h (2 �o�C�g�܂��� 3 �o�C�g)
    (b) �o�[�W�����ԍ� = 2 �܂��� 3 (1 �o�C�g)
    (c) �������̎����� (4 �o�C�g)
    (d) ���P�ʂ̗L������ (0 �͖��������Ӗ�����) (2 �o�C�g)
    (e) ���J�����V�X�e��(PKC)�^�C�v (1 �o�C�g)
    (f) RSA ���J��] n �� MPI
    (g) RSA ���J���w�� e �� MPI

    �L�������ɂ͒ʏ� 0 ���ݒ肳���B

    6.7 ���[�U�[ ID �p�P�b�g

    �ړI�B���[�U�[ ID �p�P�b�g�̓��[�U�[�����ʂ��A���J���܂��͔閧���ɑΉ�����B

    ��`�B���[�U�[ ID �p�P�b�g�͈ȉ��̃t�B�[���h��A���������̂ł���B

    (a) �p�P�b�g�\���t�B�[���h (2 �o�C�g)
    (b) ���[�U�[ ID ������

    ���[�U�[ ID ������ɂ͈���”\ ASCII ��������Ȃ�C�ӂ̕����񂪋������B�������Ȃ��炱�̃p�P�b�g�̖ړI�͌l����ӂɎ��ʂ��邱�Ƃł���̂ŁA��ʓI�ȏK���Ƃ��Ă̓��[�U�[���̌�ɓd�q���[���A�h���X(�A���O���u���P�b�g�ň͂�)�𑱂���B

    7. �]���”\���J��

    PGP ���[�U�[�ԂŌ��J������������Ă��悢�B�]���”\�Ȍ��J���̎�ȗv�f�͈ȉ��̒ʂ�B

    (a) 1 �‚̌��J���p�P�b�g
    (b) 1 �ˆȏ�̃��[�U�[ ID �p�P�b�g
    (c) �[���ˆȏ�̏����p�P�b�g

    �擪�Ɍ��J�����u�����B���̌�ɑ������[�U�[ ID �p�P�b�g�́A���̌��J���̏��L�҂̐g���ؖ���񋟂���B�����̃��[�U�[ ID �p�P�b�g�����݂���Ȃ�A����͓������[�U�[�����ʂ��镡���̕��@�Ƃ������ƂɂȂ�B�Ⴆ�΂��郆�[�U�[�� 2 �ˆȏ�̓d�q���[���A�h���X���g�p���Ă���ꍇ�A���ꂼ��̃A�h���X�ɑ΂��ă��[�U�[ ID �p�P�b�g�����������B���ꂼ��̃��[�U�[ ID �p�P�b�g�̒���Ƀ[���ˆȏ�̏����p�P�b�g���u�����B�e�X�̏����p�P�b�g�́A���O�̃��[�U�[ ID �p�P�b�g�ƍŏ��̌��J���p�P�b�g�ƂɊ�ĎZ�o�����B�Ή�������J���ƃ��[�U�[ ID �Ƃ��ؖ����邽�߂ɁA���̏��������ɗ��B�����I�ɏ����҂́A���̌��J�������̃��[�U�[ ID �Ŏ��ʂ���郆�[�U�[�̂��̂ł���Ƃ�����/�ޏ��̈ӌ����ؖ����Ă��邱�ƂɂȂ�B

    8. �ӎ�

    Philip Zimmermann �� PGP1.0(PGP2.x �̐��ł���)�̍�҂ł���B��̃o�[�W������ PGP �̎�v������ Philip Zimmermann �ɂ��݌v�w�j�̉��A�����̍v���҂��܂ލ��ۓI�ȋ����w�͂ɂ���Ď�������Ă���B

    9. �Z�L�����e�B�l�@

    �Z�L�����e�B���͂��̕����S�̂�ʂ��ċc�_����Ă���B

    10. ���҂̃A�h���X

    Derek Atkins
    12 Rindge Ave. #1R
    Cambridge, MA

    Phone: +1 617 868-4469
    EMail: [email protected]


    William Stallings
    Comp-Comm Consulting
    P. O. Box 2405
    Brewster, MA 02631

    EMail: [email protected]


    Philip Zimmermann
    Boulder Software Engineering
    3021 Eleventh Street
    Boulder, Colorado 80304 USA

    Phone: +1-303-541-0140
    EMail: [email protected]