[Autocrypt] How to create the "raw key" part from an RSA key

Bjoern b44treader at googlemail.com
Fri May 19 09:26:06 EDT 2017


So, i Delta Chat can create the two keypairs now.

Can anyone please check if the key examples below meet the
requirements of Autocrypt? For me, they look well, but I'm not familar
with this stuff, others may see obvious errors (the armour is only for
readability here, in the Autocrypt-header, it is left out) (NB: here
is the source that creates the keys using netpgp/OpenSSL:
https://github.com/r10s/deltachat-core/blob/master/src/mre2ee_driver_openssl.c#L82
)

If the keys are okay, as the next step, I'll implement
Autocrypt-encryption. And then decryption.

Thank you for your help in advance
Björn

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.3 (GNU/Linux)

xsBNBFke7/8BCAD0TTmX9WJm9elc7/xrT4/lyzUDMLbuAuUqRINtCoUQPT2P3Snfx/jou1YcmjDgwT
Ny9ddjyLcdSKL/aR6qQ1UBvlC5xtriU/7hZV6OZEmW2ckF7UgGd6ajE+UEjUwJg2+eKxGWFGuZ1P7a
4Av1NXLayZDsYa91RC5hCsj+umLN2s+68ps5pzLP3NoK2zIFGoCRncgGI/pTAVmYDirhVoKh14hCh5
R3LVFqZKiCmgkEPpwGlZakMb6/M6yzNU1KEJjvt097N1mAgjsvzEklK1p2PiqvbVjQLtHqMmizdkqr
t/B0wuUhCGfxZOlbUFwLtiX9VMKlle+rqDrXyo9lzwzNABEBAAHNDDxmb29AYmFyLmRlPsLAfQQTAQ
IAMQUCWR7wAAUJAAAAAAkQPFOVNIgJGhcCGQECGwYGCwkHAwIBBhUIAgkKCwMWAgMCHgEAACC3B/oC
MHyI32LcPcbhaLlVauuIxW7MihmYWDcJ7LLorAgFOOfmHVbXV7KNWfFxUv9UxREr6J/nW3coLkGd/w
pdDUAo35+vkeVA4TTuvWiYwm7D8f9SOkcktlTr12cliPRloCEtVxwTB8QggRVTk3Vo/iddklGw1crs
6DbGtbc0ZknZ2iMaNcUWngTJ4T2L+IhBXsemDZUi7r3OJa0ytoNPOMAUGCRpisED7+c9XCzC0kR1Dz
0Hl+89W6NSg6usWhXaykbLbjCo0jwiTegc47Wy6DGNLDdqFXhcx3718lLQ6DPCVl8zf8CSDbzV4xmr
05fS9cg+9WBJyrmmwe1SOur/6Z3mzsBNBFke8AABCADRuxA6CXTt8vVz32Oa0E/dBb3TjugIKkj7jy
G2csd8NP/HF1qx/EJFumtYPOfkov0uhlGxIsR5zSAMpv87fF5LSsipmzCmC5QtKhlDnZUI/Zn5gnUi
MjUteorvxqFOsSUIiuuqxaC0OfVwLY5AD0oInHH4POCF+03UDrpzjmZT6ydqrW2ogfEjmYUt8YtY0w
f6NrXKH+eGSY9YvdX148d+FLx4c9uxfQqRqY8TLgG+P5XDTFjlLfsigScVxN3i7jxxI4CVpqqstyKe
gfaD3UXc2OC9Siw66Cfkw1VkxAgneICrmzVNIUkSYQIu+4BM2QznnC9kJfxgPyCxoIM3b9c1ABEBAA
HCwH0EGAECADEFAlke8AAFCQAAAAAJEDxTlTSICRoXAhkBAhsGBgsJBwMCAQYVCAIJCgsDFgIDAh4B
AADkLQf/aAzVzRIrtl2B5Y37UyzQIThBDpy6QtLYsqBDvUKsCdCXJ9XRY9OHmf22tSaqt+a1UNIcQ/
VPCAgKEy3RXYbNKAuAqypzwwrxhY4X+z+aGJv2CDPruv29hr2b9xi3h4d9JR73UA8psCtiLe6y+0rn
R2kew6UFYIkg4flubWgU0EnIGd+MAuWsnPofDl91qJ/hL2TFCP2VGj3sTgvNStgigux+z4UMkPHWtq
Dw2QKxriEk82fSvUIW2hBlAR6/Wnq3r2M9cYjW09eXXYMyjMLRb9eYalJeAw3kFdL18tAXhIBHyjpo
/831DeK/H5Da2Vsjmwf+X/dL56MRpQUKguup1Q==
-----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1.2.3 (GNU/Linux)

xcLYBFke7/8BCAD0TTmX9WJm9elc7/xrT4/lyzUDMLbuAuUqRINtCoUQPT2P3Snfx/jou1YcmjDgwT
Ny9ddjyLcdSKL/aR6qQ1UBvlC5xtriU/7hZV6OZEmW2ckF7UgGd6ajE+UEjUwJg2+eKxGWFGuZ1P7a
4Av1NXLayZDsYa91RC5hCsj+umLN2s+68ps5pzLP3NoK2zIFGoCRncgGI/pTAVmYDirhVoKh14hCh5
R3LVFqZKiCmgkEPpwGlZakMb6/M6yzNU1KEJjvt097N1mAgjsvzEklK1p2PiqvbVjQLtHqMmizdkqr
t/B0wuUhCGfxZOlbUFwLtiX9VMKlle+rqDrXyo9lzwzNABEBAAEACACynL9t7VcrZcFfVIpdPsc7P8
2bboNgErfPplXcZCOTEuMuiokx9ndyWH0F3mm7+SUPeNQoPTg77b5WNFnaK+47nxRQLyYa8URZMI7o
VkRDSSki7y+IovQvKL15DYE5N2Jk5qIt8vIUf1hxV/sGJTS650HQwT7R4q5x/rujGUxhqZofVJ7HiD
E7CEnnQTXwS8WQWhI8fR+BxWTZAGH8UGm8rtEZ+IznHlVJt7/PmtrZ87H4WvMjaw0LK+uEXzngDyAV
057duLCB6IEAwGMJ7TfilBocMfsCxHL3xqoAHuh+H0bHkH/ELtOH065q5kj5GvQl2qmMpAXTQ3nlk6
2O0SwVBAD9FkB1FEEyYDnQRS6rHlfESZ9NiCwsRq/ZfnOWwu9oSXsT8tuczeiGETowje734eYDjJMM
AR+UjT2ybjQ7+N5pE4CHDcjZnawW/NCfwoVu5UTyFHTkL6IdMjq49PPSIjiZFtVRqen1024wHsvCpW
UvF7ORMw+zm9pKY9k/qftyxwQA9x0WIiuUiIrl+9XTGHaQRKfIGKxWD/6rBVz8ZQCVHWJ7l+J6QjzZ
+qBdIEoNn35z832nddXlXO86wy2tzILaGtjlzyWZotSBzk066SkdlBLjlEEKRc9A/p5zykW1pW1WN+
NUrfTimOm1yTPxwi86I3/qIB/YzhWJIOlpXQNjr8sEANUwUqNu4edAutaj8kr46qsrK2drV79xWxld
NG0oD9ZxvV0JRmBpt+WZOuLwuxDYg6UoppTPpGI8Xpg0Efd0fTDFYgGbqI9YQ+5NbwzKCdztee6gl7
JvsZz9NqASHR1r2whZuVQRRpmDBQQaJ6cASpQDTW+Xpx5+OLdYovBJftZwPJvNDDxmb29AYmFyLmRl
PsLAfQQTAQIAMQUCWR7wAAUJAAAAAAkQPFOVNIgJGhcCGQECGwYGCwkHAwIBBhUIAgkKCwMWAgMCHg
EAACC3B/oCMHyI32LcPcbhaLlVauuIxW7MihmYWDcJ7LLorAgFOOfmHVbXV7KNWfFxUv9UxREr6J/n
W3coLkGd/wpdDUAo35+vkeVA4TTuvWiYwm7D8f9SOkcktlTr12cliPRloCEtVxwTB8QggRVTk3Vo/i
ddklGw1crs6DbGtbc0ZknZ2iMaNcUWngTJ4T2L+IhBXsemDZUi7r3OJa0ytoNPOMAUGCRpisED7+c9
XCzC0kR1Dz0Hl+89W6NSg6usWhXaykbLbjCo0jwiTegc47Wy6DGNLDdqFXhcx3718lLQ6DPCVl8zf8
CSDbzV4xmr05fS9cg+9WBJyrmmwe1SOur/6Z3mx8LYBFke8AABCADRuxA6CXTt8vVz32Oa0E/dBb3T
jugIKkj7jyG2csd8NP/HF1qx/EJFumtYPOfkov0uhlGxIsR5zSAMpv87fF5LSsipmzCmC5QtKhlDnZ
UI/Zn5gnUiMjUteorvxqFOsSUIiuuqxaC0OfVwLY5AD0oInHH4POCF+03UDrpzjmZT6ydqrW2ogfEj
mYUt8YtY0wf6NrXKH+eGSY9YvdX148d+FLx4c9uxfQqRqY8TLgG+P5XDTFjlLfsigScVxN3i7jxxI4
CVpqqstyKegfaD3UXc2OC9Siw66Cfkw1VkxAgneICrmzVNIUkSYQIu+4BM2QznnC9kJfxgPyCxoIM3
b9c1ABEBAAEAB/9TQzKD9/El7kinwc3nTkAGfRsJfDh91Vu4EvDNX+/2TYwl3A2zj3Q3/nRTSYq+aD
6fU8/mxOi/ekH5A+tcEFnXBk93lhbQNNSUwZvaDht2wEd6mOIru0cFURsLag3sEcOkCpLY7zCHnGLm
MA/DOs6ncISGipSQXF5fi6FV8viI46B33GR8GwL+DaChnHcPaXI+QGu5VAyPUxRrF7cjSvUqhfOcLw
0BY4yWFaGbLVdwx3BP2SOqY3LklnFm9/AG+OksyzuA0UO0RvWarFcSY61kxPZ0yCf6DqZEwwYiPoOe
Tdi97Q2gM9oxW87S5nmPrQ+f/PrLCdUwMw6WvjprkS4BBADrLcmqcnSNM6FoEEYvR7phnIKhscjKYl
oCuDFa8DxNfOg1wjc/U0IBBONTRKbgid2SbTFp2HAePoKawCJ6bAPajMjAKOkr+thWPU7/XyejUOY1
/EG9qOb8o74mQdkZgn8G3VTOT4YYK9FZ5lr4LKNiZfadavYvJeRefk8hcxtEwQQA5EyBkACXHFX6Nm
4f7fc7x5s2ZBdl37q3pQv0JUWrA6R05zHzPKqUFWZrH9Xb0hhaDVcTKl2wVLvCCUzJESjILexrMzrO
zphDBedyls8emmo8HY/em3SPILZF1ueFZDx3XqbDIVXeyI1lpD4bGxCoSBVAKIPgPQ/EdviHldGtK3
UEAK5m7IKOCZr21DaTnworaA8z3XrC8pR2V6DJlBVUFTxhWpaWh/PDqYMgcuh1ZlBkxaLvpnMeAsN8
8yV6YPkcSh4xgGSlDjrExHkYs7p6BRW26wCQzdmRnfwSvwu04ZHdCtpZM0tDoTVE3MgcTVusV2aJUf
DbpKRU59SGglmM5l/KOKU=
-----END PGP PRIVATE KEY BLOCK-----

On Thu, May 18, 2017 at 8:01 PM, Daniel Kahn Gillmor
<dkg at fifthhorseman.net> wrote:
> Hi Bjoern--
>
> On Thu 2017-05-18 19:01:25 +0200, Bjoern wrote:
>> Okay, I figured out how to get the correct public key part.
>>
>> Now, I am a little bit confused about which data are really required
>> in the public key.
>>
>> The key eg. returned by the Autocrypt bot contains the following
>> packets (from https://tools.ietf.org/html/rfc4880)
>>
>> Public-key Packet -- 272 bytes raw
>> User ID Packet --  28 bytes raw, contains `bot123 <bot at autocrypt.org>`
>> Signature packet -- 343 byte raw
>> .... more packets
>>
>> All in all about 3,7 KB of data. I'm no expert, but for the pure
>> encryption, only the first packet is required? What is expected by the
>> Autocrypt-standard.
>
> I think you're looking for this information:
>
>     https://autocrypt.org/en/latest/level0.html#type-p-openpgp-based-key-data
>
> In particular, the expected key should be a series of 5 OpenPGP packets:
>
>        * a signing-capable primary key Kp
>        * a user id
>        * a self signature
>        * an encryption-capable subkey Ke
>        * a binding signature over Ke by Kp
>
>
> is that what you're looking for?
>
>    --dkg



More information about the Autocrypt mailing list