master
master
Release_2.1
gitea-96
gitea-120--2.x
gitea-116--2.x
gitea-121
gitea-118--3.x
gitea-113
gitea-117
foo
gitea-116
heck/tmpbugfix
gitea-100
gitea-104
gitea-90
echo-rate-limit
gitea-105
Release_2.1--with-sequoia-openpgp/v1.13.0-probably-all-wrong
nkls_mixnet
invalid-upgdade
allow-empty-username
gitea-102
gitea-99
doxygen-3.x
gitea-83-84--v3
gitea-83-84--v2
gitea-83-84--v3--old-and-probably-useless
backup-before-using-REQUIRE
some-RCs-from-3.x--3.2.0-RC8-to-3.2.0-RC10
newsequoia2022--bk-2022-10-12
log-scratch
mscgen
ENGINE-1006-for-engine-v2
sqlite-cleanup
ENGINE-1006-for-engine-v2-rebasing--backup-before-cleaning-2022-08-10
ENGINE-999
ENGINE-1006-for-engine-v3--bk-before-rebasing
ENGINE-1006-for-engine-v3
ENGINE-1001--2.x
ENGINE-1001--3.x
ENGINE-1002--2.x
ENGINE-1002--3.x
positron/tka-scratch
positron/ENGINE-899
2.1-doxygen-docs
ENGINE-995
big-rewrite
migration-debugging
2.1-fix-two-lines-patch-only
ENGINE-996
QA-180
ENGINE-900
positron-temporary-for-heck-2022-01-12-a
ENGINE-989
ENGINE-979-for-engine-v2
ENGINE-979-for-engine-v3
ENGINE-984
ENGINE-930
ENGINE-959
ENGINE-959-new-part-to-be-pushed-to-the-old-branch
ENGINE-975
ENGINE-969
ENGINE-971
ENGINE-969--almost-certainly-wrongly-named-and-useless--to-be-removed
ENGINE-974
ENGINE-972
ENGINE-968
ENGINE-619
lucasaiu/WIP-ENGINE-968
ENGINE-967
lucasaiu/test
ENGINE-964
ENGINE-956
lucasaiu/message-struct-change
ENGINE-961
ENGINE-962
lucasaiu/rating-field
Release_3.1
ENGINE-958
ENGINE-847
ENGINE-558
ENGINE-957
ENGINE-955
ENGINE-848
ENGINE-570
ENGINE-953
ENGINE-954
ENGINE-899
ENGINE-898
2.1_audit_refresh
doxygen_doc
generate_api
neal/sequoia-1.1
ENGINE-878
ENGINE-606
ENGINE-820
MACOSINST-33
MACOSINST-26
ENGINE-868
ENGINE-814
ENGINE-864
mime-integrate
trustsync
test-README.md
sync
pEpMIME_windows
pEpMIME
nuanced_return_codes
key-manipulation-tests
fpr-format-check
extra_keys_add
elevated_attachments
doc_update_sequoia
doxygen-key-id
b0rken_crypto
audit_branch
add_key_notification
Release_2.1.0
ENGINE-871
ENGINE-872
ENGINE-641
v3.2.0-RC22
v3.2.0-RC21
v2.1.71
v2.1.70
v2.1.69
v3.2.0-RC20
v3.2.0-RC19
v3.2.0-RC18
v3.2.0-RC17
v3.2.0-RC16
v3.2.0-RC15
v3.2.0-RC14
v2.1.68
v3.2.0-RC13
v2.1.67
v3.2.0-RC12
v2.1.66
v2.1.65
v2.1.65-RC1
v3.2.0-RC11
gitea-86
v3.2.0-RC10
Release_3.2.0-RC9
3.2.0-RC8
Release_2.1.64
Release_2.1.63
Release_2.1.62
Release_2.1.61
Release_2.1.60
Release_2.1.59
Release_2.1.58
Release_2.1.57
Release_2.1.56
Release_2.1.55
Release_2.1.54
Release_3.2.0-RC7
Release_2.1.52
Release_2.1.51-RC6
Release_2.1.51-RC5
Release_2.1.51-RC4
Release_2.1.51-RC3
Release_2.1.51-RC2
Release_2.1.51-RC1
undo-the-incompatible-change-in-ENGINE-959
decrypt_message_2
after-incompatible-change-in-ENGINE-959
before-incompatible-change-in-ENGINE-959
Release_3.2.0-RC6
Release_3.2.0-RC5
Release_2.1.50
Release_3.1.10
Release_3.2.0-RC4
Release_3.2.0-RC3
Release_3.2.0-RC2
Release_3.2.0-RC1
Release_2.1.49
Release_2.1.48
Release_3.1.9
Release_3.1.8
Release_3.1.7
Release_3.1.6
Release_2.1.47
Release_2.1.46
Release_3.1.5
Release_2.1.45
Release_3.1.3
Release_2.1.44
Release_2.1.43
Release_3.1.2
Release_3.1.1
Release_2.1.42
Release_3.1.0
Release_2.1.41
Release_2.1.40
archive/ENGINE-633
Release_2.1.39
Release_2.1.38
Release_2.1.37
0.7
0.7.0
0.8.0
0.9.0_release
1.3.0-RC-default
1.3.0-RC-sync
2.0.0-RC
2.0.1_target
2.1.0_target
3.2.0-RC14
ENGINE-323_fixed
ENGINE-864
Last_commit_in_old_default_branch_-_branch_now_moves_to_Release_1_branch_deprecated._Goal_is_to_move_postrelease_to_default_and_continue_with_new_release/branching_rules_
M1.0_current
Patch_release_1.0.442
Release_0.0.1
Release_1.0.441
Release_1.1.0
Release_1.1.1
Release_1.1.2
Release_1.2.0
Release_2.0.0
Release_2.0.1
Release_2.0.2
Release_2.0.3
Release_2.0.4
Release_2.0.5
Release_2.0.6
Release_2.1.0
Release_2.1.0-RC0
Release_2.1.0-RC1
Release_2.1.0-RC10
Release_2.1.0-RC11
Release_2.1.0-RC12
Release_2.1.0-RC13
Release_2.1.0-RC14
Release_2.1.0-RC15
Release_2.1.0-RC16
Release_2.1.0-RC17
Release_2.1.0-RC18
Release_2.1.0-RC19
Release_2.1.0-RC2
Release_2.1.0-RC20
Release_2.1.0-RC21
Release_2.1.0-RC22
Release_2.1.0-RC23
Release_2.1.0-RC24
Release_2.1.0-RC25
Release_2.1.0-RC26
Release_2.1.0-RC27
Release_2.1.0-RC28
Release_2.1.0-RC29
Release_2.1.0-RC3
Release_2.1.0-RC30
Release_2.1.0-RC31
Release_2.1.0-RC32
Release_2.1.0-RC33
Release_2.1.0-RC34
Release_2.1.0-RC35
Release_2.1.0-RC36
Release_2.1.0-RC37
Release_2.1.0-RC38
Release_2.1.0-RC39
Release_2.1.0-RC4
Release_2.1.0-RC5
Release_2.1.0-RC6
Release_2.1.0-RC7
Release_2.1.0-RC8
Release_2.1.0-RC9
Release_2.1.0-final
Release_2.1.1
Release_2.1.10
Release_2.1.11
Release_2.1.12
Release_2.1.13
Release_2.1.14
Release_2.1.15
Release_2.1.16
Release_2.1.17
Release_2.1.18
Release_2.1.19
Release_2.1.2
Release_2.1.20
Release_2.1.21
Release_2.1.22
Release_2.1.23
Release_2.1.24
Release_2.1.25
Release_2.1.26
Release_2.1.27
Release_2.1.28
Release_2.1.29
Release_2.1.3
Release_2.1.30
Release_2.1.31
Release_2.1.32
Release_2.1.33
Release_2.1.34
Release_2.1.35
Release_2.1.36
Release_2.1.4
Release_2.1.5
Release_2.1.6
Release_2.1.7
Release_2.1.8
Release_2.1.9
Release_2.2.0-RC0
Release_3.0.0
Release_3.0.1
Release_3.0.10
Release_3.0.11
Release_3.0.2
Release_3.0.3
Release_3.0.4
Release_3.0.5
Release_3.0.6
Release_3.0.7
Release_3.0.8
Release_3.0.9
Release_3.1.4
Release_zOS_0.1
Restarting_default_from_postrelease
Revived_default_branch._Close_postrelease_and_work_here._sync_is_2.0_branch_
TEST-ENGINE-820
TEST_ENGINE-814_1
add
archive/2.0.5_p4a_log_test
archive/2028_fix
archive/633-up-id-refactor
archive/AllGroupDevicesShowHandshake
archive/ENGINE-1
archive/ENGINE-105
archive/ENGINE-107
archive/ENGINE-109
archive/ENGINE-112
archive/ENGINE-118
archive/ENGINE-128
archive/ENGINE-129
archive/ENGINE-133
archive/ENGINE-135
archive/ENGINE-137
archive/ENGINE-139
archive/ENGINE-140
archive/ENGINE-140-reloaded
archive/ENGINE-140_exclude_identity_from_sync
archive/ENGINE-142
archive/ENGINE-152
archive/ENGINE-155
archive/ENGINE-157
archive/ENGINE-168
archive/ENGINE-171
archive/ENGINE-172
archive/ENGINE-173
archive/ENGINE-174
archive/ENGINE-178
archive/ENGINE-179
archive/ENGINE-180
archive/ENGINE-183
archive/ENGINE-187
archive/ENGINE-188
archive/ENGINE-189
archive/ENGINE-198
archive/ENGINE-199
archive/ENGINE-204
archive/ENGINE-207
archive/ENGINE-207-1
archive/ENGINE-209
archive/ENGINE-214
archive/ENGINE-215
archive/ENGINE-217
archive/ENGINE-226
archive/ENGINE-228
archive/ENGINE-229
archive/ENGINE-233
archive/ENGINE-237
archive/ENGINE-238
archive/ENGINE-247
archive/ENGINE-250
archive/ENGINE-251
archive/ENGINE-254
archive/ENGINE-255
archive/ENGINE-259
archive/ENGINE-261
archive/ENGINE-262
archive/ENGINE-265
archive/ENGINE-27
archive/ENGINE-275
archive/ENGINE-282
archive/ENGINE-286
archive/ENGINE-287
archive/ENGINE-288
archive/ENGINE-289
archive/ENGINE-290
archive/ENGINE-293
archive/ENGINE-294
archive/ENGINE-298
archive/ENGINE-3
archive/ENGINE-305
archive/ENGINE-308
archive/ENGINE-320
archive/ENGINE-320-lr1
archive/ENGINE-321
archive/ENGINE-322
archive/ENGINE-325
archive/ENGINE-329
archive/ENGINE-332
archive/ENGINE-339
archive/ENGINE-352
archive/ENGINE-358
archive/ENGINE-398
archive/ENGINE-40
archive/ENGINE-400
archive/ENGINE-402
archive/ENGINE-407
archive/ENGINE-420
archive/ENGINE-422
archive/ENGINE-423
archive/ENGINE-425
archive/ENGINE-427
archive/ENGINE-430
archive/ENGINE-434
archive/ENGINE-440
archive/ENGINE-442
archive/ENGINE-448
archive/ENGINE-450
archive/ENGINE-450-MARK-II
archive/ENGINE-451
archive/ENGINE-454
archive/ENGINE-455
archive/ENGINE-459
archive/ENGINE-463
archive/ENGINE-466
archive/ENGINE-467
archive/ENGINE-472
archive/ENGINE-473
archive/ENGINE-474
archive/ENGINE-479
archive/ENGINE-479_low_level
archive/ENGINE-487
archive/ENGINE-507
archive/ENGINE-510
archive/ENGINE-514
archive/ENGINE-524
archive/ENGINE-531
archive/ENGINE-536
archive/ENGINE-540
archive/ENGINE-544
archive/ENGINE-550
archive/ENGINE-551
archive/ENGINE-552
archive/ENGINE-553
archive/ENGINE-559
archive/ENGINE-571
archive/ENGINE-581
archive/ENGINE-596
archive/ENGINE-600
archive/ENGINE-602
archive/ENGINE-606
archive/ENGINE-614
archive/ENGINE-630
archive/ENGINE-638
archive/ENGINE-639
archive/ENGINE-647
archive/ENGINE-649
archive/ENGINE-654
archive/ENGINE-655
archive/ENGINE-659-gpg
archive/ENGINE-681
archive/ENGINE-703
archive/ENGINE-720
archive/ENGINE-73
archive/ENGINE-736
archive/ENGINE-74
archive/ENGINE-746
archive/ENGINE-750
archive/ENGINE-751
archive/ENGINE-757
archive/ENGINE-764
archive/ENGINE-767
archive/ENGINE-780
archive/ENGINE-780-take2
archive/ENGINE-781
archive/ENGINE-79
archive/ENGINE-812
archive/ENGINE-822-sql-refactor
archive/ENGINE-835
archive/ENGINE-84
archive/ENGINE-864_old
archive/ENGINE-866
archive/ENGINE-870
archive/ENGINE-877
archive/ENGINE-883
archive/ENGINE-9
archive/ENGINE-9-1
archive/ENGINE-92
archive/ENGINE-95
archive/ENGINE-96
archive/ENGINE-98
archive/ENGINE_314
archive/GroupMerge
archive/IOS-1351
archive/IOS-1482
archive/IOS-1484
archive/IOS-1576
archive/IOS-1784
archive/IOS-1942
archive/IOS-2327
archive/IOS-2414
archive/IOS-506
archive/IOS-BUILD_NDEBUG_FIX
archive/IOSAD-101
archive/IOSAD-103
archive/IOSAD-111
archive/IOSAD-120
archive/IOSAD-161
archive/IOSAD-163
archive/IOSAD-182
archive/IOSAD-186
archive/JIRA_smart_commit_test_branch
archive/JNI-21
archive/JNI-26
archive/KeySyncWaitForAccept
archive/NETPGP-18
archive/Release_1_branch_deprecated
archive/Release_2.1.0
archive/Release_3.0
archive/Xcode-sync-session
archive/Xcode11
archive/android-stuff
archive/async_key_management
archive/beacon_test
archive/changeset_add
archive/database_change_branch
archive/debian_default_test
archive/default-1
archive/default-2
archive/default-3
archive/delete_key
archive/diphoton_M1
archive/el_presidente
archive/email_comparison
archive/enigmail-color-tests
archive/enigmail_tests_pre_revision_2535
archive/fdik_sync
archive/fixing_revoke
archive/gen_sample
archive/gnupg-2.1
archive/google-ENGINE-325-testing
archive/googletest
archive/gpgme-1.9.0
archive/gpgme_passphrase_cb
archive/grind_and_cleanup
archive/group_key_reset
archive/import_key_2.1
archive/import_own_key
archive/import_priv_keys_fix
archive/install_headers
archive/key_reset_get_revocations
archive/keysync
archive/keysync-windows
archive/krista-local-7-Jan-2020
archive/krista-netpgp-sync
archive/krista-temp
archive/krista_local_windows
archive/krista_temp
archive/krista_tmp_sequoia_upgrade
archive/local_cmocka
archive/local_cpptest
archive/maintain
archive/make-cleanup
archive/merge_ll_sign_only
archive/message-2.0
archive/mistrust_fixes
archive/neal-sequoia-update-staging
archive/neal/tpk-cache
archive/notifyHandshake
archive/null_size_attachment
archive/outlook_mime_support
archive/peg-mime
archive/postrelease
archive/preview_rating
archive/ratings
archive/reduce
archive/remove_gpg
archive/rok-mac
archive/roker-linux
archive/sender-fpr-and-friends
archive/sender-fpr-checks
archive/sequoia
archive/sequoia_windows
archive/short_term_is_own_key_branch
archive/signature_test
archive/spinlock_remove
archive/strl-imp
archive/sync-test-dev
archive/sync_and_key_reset
archive/sync_test_refactor
archive/test-huss-hypothesis-42
archive/test_diphoton
archive/thomas_timing_tests
archive/tracing_for_thomas
archive/tunneling
audit_update_from_sync
decode-encode-API-change
for_Outlook-1.1.10
last-old-mime-api-version
last_usable_message_format_commit
list
no_support_provided_from_message_2.0_on_this_branch._Please_use_branch_diphoton_M1
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
Milestone
Set milestone
Clear milestone
No items
No Milestone
Assignees
Assign users
Clear assignees
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: pEp.foundation/pEpEngine#87
Reference in new issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Jonathan Rodríguez González points us to the problem that a MITM can easily find a pair of fingerprints Kma, Kmb, which are summing up with the original fingerprints of Alice Ka and Bob Kb to the same sum, respectively:
Kmb arbitrarily chosen.
Kma = Ka + Kmb + Kb
Ka + Kmb = S1
Kb + Kma = S1
So the Trustword check is depending on the security of the hash function, which calculates the fingerprint, because it depends on finding key data, which results in this fingerprint.
That requires fingerprints being quite huge to avoid Rainbow table attacks. And it needs to have a check, if Rainbow table attacks can be used for finding keys to make this an attack. In case it is possible we may need to replace XOR as the sum.
The rehashing may be required for Eliptic curve algos, because they may use the pubkey as “fingerprint” without rehashing. In this case pEp Trustwords must rehash.
Because It's easy to do so pEp Trustwords alays should rehash fingerprints.
Luca, we need to make this a topic in EB, please.
I think we'll change the sum function from XOR to a cryptographic hash, i.e. SHA256. This avoids the problem.
It looks like sequoia always hashes the complete contents of the public key (including any MPIs) for the fingerprint, also for EdDSA/curve 25519 and others. So a EdDSA fingerprint is not directly the key material, but the hashed version.
A public key:
9190e98331/openpgp/src/crypto/mpi.rs (L472)
Here the part for 'DJB's "Twisted" Edwards curve DSA public key':
9190e98331/openpgp/src/crypto/mpi.rs (L514)
The hash implmentation uses those MPIs (which is a mpi::PublicKey):
c4e6642f01/openpgp/src/crypto/hash.rs (L407)
And fingerprint uses that hash:
9190e98331/openpgp/src/packet/key.rs (L1158)
Edit: Removed nonsensical comment. Will verify in running code.
Update: Added some println! with the following result for a ecdh key:
The fingerprint looks indeed very different from the actual key.
I am now satisfied with the state of the gitea-87 branch. After discussing the necessary adapter changes with @heck I want to merge this it into master. I may do some cosmetic refactoring, but the current state of the branch is essentially correct.
At the time of writing, until I keep the gitea-87 branch existing (I plan to turn everything into one commit) the list of changes is here:
https://gitea.pep.foundation/pEp.foundation/pEpEngine/src/branch/gitea-87/NEWS-gitea-87
I am writing this here now in case there is no time for speaking to @heck later today; we usually meet on Thursdays.
Of couse we can speak about this another day, but it is better if I make things clear and do not forget them myself. I have taken days off from December 23 to December 27 included.
Cherry-picking. gitea-87 is about to disappear.
gitea-87to master 1 month ago