Skip to content

Instantly share code, notes, and snippets.

@syncsynchalt
Created November 19, 2018 19:06
Show Gist options
  • Save syncsynchalt/e7b1c219f5c1bdd8cf57c45028757081 to your computer and use it in GitHub Desktop.
Save syncsynchalt/e7b1c219f5c1bdd8cf57c45028757081 to your computer and use it in GitHub Desktop.
mdrisco1@zedo$ curl -O https://tls13.ulfheim.net/files/hkdf.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1623 100 1623 0 0 5565 0 --:--:-- --:--:-- --:--:-- 5577
mdrisco1@zedo$ mv hkdf.sh hkdf
mdrisco1@zedo$ chmod a+x hkdf
mdrisco1@zedo$ cat <<'EOF' > /tmp/runme
> handshake_hash=22844b930e5e0a59a09d5ac35fc032fc91163b193874a265236e568077378d8b
> handshake_secret=fb9fc80689b3a5d02c33243bf69a1b1b20705588a794304a6e7120155edf149a
> zero_key=0000000000000000000000000000000000000000000000000000000000000000
> empty_hash=$(openssl sha256 < /dev/null)
> derived_secret=$(./hkdf expandlabel $handshake_secret "derived" $empty_hash 32)
> master_secret=$(./hkdf extract $derived_secret $zero_key)
> csecret=$(./hkdf expandlabel $master_secret "c ap traffic" $handshake_hash 32)
> ssecret=$(./hkdf expandlabel $master_secret "s ap traffic" $handshake_hash 32)
> client_application_key=$(./hkdf expandlabel $csecret "key" "" 16)
> server_application_key=$(./hkdf expandlabel $ssecret "key" "" 16)
> client_application_iv=$(./hkdf expandlabel $csecret "iv" "" 12)
> server_application_iv=$(./hkdf expandlabel $ssecret "iv" "" 12)
> echo ckey: $client_application_key
> echo skey: $server_application_key
> echo civ: $client_application_iv
> echo siv: $server_application_iv
> EOF
mdrisco1@zedo$ bash /tmp/runme
ckey: 49134b95328f279f0183860589ac6707
skey: 0b6d22c8ff68097ea871c672073773bf
civ: bc4dd5f7b98acff85466261d
siv: 1b13dd9f8d8f17091d34b349
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment