{"action":"created","issue":{"url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/issues/2","labels_url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/issues/2/comments","events_url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/issues/2/events","html_url":"https://github.com/lemire/StronglyUniversalStringHashing/issues/2","id":106021746,"number":2,"title":"Handling messages of length i*1024+j for i >= 2, j in [1-7]","user":{"login":"medsec","id":11535659,"avatar_url":"https://avatars.githubusercontent.com/u/11535659?v=3","gravatar_id":"","url":"https://api.github.com/users/medsec","html_url":"https://github.com/medsec","followers_url":"https://api.github.com/users/medsec/followers","following_url":"https://api.github.com/users/medsec/following{/other_user}","gists_url":"https://api.github.com/users/medsec/gists{/gist_id}","starred_url":"https://api.github.com/users/medsec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medsec/subscriptions","organizations_url":"https://api.github.com/users/medsec/orgs","repos_url":"https://api.github.com/users/medsec/repos","events_url":"https://api.github.com/users/medsec/events{/privacy}","received_events_url":"https://api.github.com/users/medsec/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"owenkaser","id":4563785,"avatar_url":"https://avatars.githubusercontent.com/u/4563785?v=3","gravatar_id":"","url":"https://api.github.com/users/owenkaser","html_url":"https://github.com/owenkaser","followers_url":"https://api.github.com/users/owenkaser/followers","following_url":"https://api.github.com/users/owenkaser/following{/other_user}","gists_url":"https://api.github.com/users/owenkaser/gists{/gist_id}","starred_url":"https://api.github.com/users/owenkaser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owenkaser/subscriptions","organizations_url":"https://api.github.com/users/owenkaser/orgs","repos_url":"https://api.github.com/users/owenkaser/repos","events_url":"https://api.github.com/users/owenkaser/events{/privacy}","received_events_url":"https://api.github.com/users/owenkaser/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-09-11T14:29:04Z","updated_at":"2015-09-16T17:19:20Z","closed_at":"2015-09-14T21:29:51Z","body":"It seems that messages with at least two full 1024-byte blocks and only 1-7 remaining bytes are treated independently of their trailing 1-7 bytes. If confirmed, this would allow to construct trivial collisions for messages of length 2049-2055 bytes that all collide; the same would apply for messages of length 3073-3079, 4097-4103, ... bytes.\r\n\r\nThe reasons seem to be Line 260 in clmulhierarchical64bits.h, which should use not the floored length.\r\n247    size_t length = lengthbyte / sizeof(uint64_t);\r\n...\r\n260    const int remain = length - t;\r\n261   \r\n262    if (remain != 0) {"},"comment":{"url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/issues/comments/140810294","html_url":"https://github.com/lemire/StronglyUniversalStringHashing/issues/2#issuecomment-140810294","issue_url":"https://api.github.com/repos/lemire/StronglyUniversalStringHashing/issues/2","id":140810294,"user":{"login":"medsec","id":11535659,"avatar_url":"https://avatars.githubusercontent.com/u/11535659?v=3","gravatar_id":"","url":"https://api.github.com/users/medsec","html_url":"https://github.com/medsec","followers_url":"https://api.github.com/users/medsec/followers","following_url":"https://api.github.com/users/medsec/following{/other_user}","gists_url":"https://api.github.com/users/medsec/gists{/gist_id}","starred_url":"https://api.github.com/users/medsec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medsec/subscriptions","organizations_url":"https://api.github.com/users/medsec/orgs","repos_url":"https://api.github.com/users/medsec/repos","events_url":"https://api.github.com/users/medsec/events{/privacy}","received_events_url":"https://api.github.com/users/medsec/received_events","type":"User","site_admin":false},"created_at":"2015-09-16T17:19:20Z","updated_at":"2015-09-16T17:19:20Z","body":"Yes, seems to be successfully fixed. But I had mistaken the printf formats in the quick collision test in the clmulunit.c It should be %lu and %016lx instead of %llu and %016llx. I get a warning by gcc currently. :+1: "}}