YagizaDaniel, I need to clarify something about OMEMO implementation. Can you help me?
COM8has joined
COM8has left
sezuanhas left
andyhas left
andyhas joined
DanielYagiza: I don't know. But we can try
YagizaDaniel, ok, thanx!
igoosehas left
igoosehas joined
lnjhas joined
Lancehas left
valohas left
valohas joined
COM8has joined
COM8has left
APachhas left
APachhas joined
YagizaSection 4.3 says, that I must publish my IdentityKey. But IdentityKey is a public/private key pair.
igoosehas left
YagizaDo I need to publish both keys, or just public one?
DanielThe public key
APachhas left
sezuanhas joined
YagizaDaniel, ok. That's the way I did it.
YagizaDaniel, the only question is why tag name is so ambiguous.
Yagiza<signedPreKeyPublic/>, <preKeyPublic/>, but <identityKey/>?
YagizaThe next question is about section 4.5.
YagizaIt says: "In order to send a chat message, its <body> first has to be encrypted. The client MUST use fresh, randomly generated key/IV pairs with AES-128 in Galois/Counter Mode (GCM). The 16 bytes key and the GCM authentication tag (The tag SHOULD have at least 128 bit) are concatenated and for each intended recipient device, i.e. both own devices as well as devices associated with the contact, the result of this concatenation is encrypted using the corresponding long-standing SignalProtocol session."
YagizaWhat does that mean? How to encrypt, "using the corresponding long-standing SignalProtocol session"?
goffihas joined
YagizaDo I need to use one of pre keys, published by target devices to encrypt key I just generated?
YagizaOr do I need to use it just for a first message and mark it with preKey="true" attribute?
YagizaAnd one I received a key/IV pair from the device, I need to use that key instead?
APachhas joined
flowdwd, hmm?
dwdflow, You referred to SCE as SEC in your mail to standards@. I'm disproportionately amused.
flowAhh, I see.
DanielYagiza: you generate a random iv+key, encrypt the message with that key. And then you feed the key into all signal protocol session
DanielAnd if no session exists yet you create them
DanielWith prekeys downloaded from pep
YagizaDaniel, well... What does it mean "to create a session"?
wurstsalathas joined
DanielThat is defined by the signal spec
YagizaOk
Ge0rGI actually like SEC much more than SCE, with you-know-what as a close second. Can't we change the title to "Stanza Encrypted Content" at least? 😁
YagizaThe next question is: which functions from libsignal-protocol-c do I need to use to generate key/IV pair? Those from sender_key.h?
moparisthebesthas left
moparisthebesthas joined
DanielThey are not provided by the library. It's just random bytes
Steve Killehas left
YagizaDaniel, IC. And which function can I use to encrypt my message using that key/IV pair?
DanielSome aes gcm implementation
Steve Killehas joined
YagizaDaniel, ok
mimi89999has left
mimi89999has joined
Alexhas left
Alexhas joined
pdurbinhas left
lorddavidiiihas joined
adityaborikarhas left
adityaborikarhas joined
COM8has joined
COM8has left
UsLhas left
rtq3has joined
alacerhas left
alacerhas joined
COM8has joined
COM8has left
alacerhas left
mimi89999has left
pdurbinhas joined
mimi89999has joined
UsLhas joined
alameyohas left
alameyohas joined
debaclehas joined
pdurbinhas left
pdurbinhas joined
COM8has joined
COM8has left
UsLhas left
pdurbinhas left
lskdjfhas joined
alacerhas joined
pdurbinhas joined
j.rhas left
j.rhas joined
pdurbinhas left
alacerhas left
alacerhas joined
j.rhas left
alacerhas left
alacerhas joined
pdurbinhas joined
j.rhas joined
rtq3has left
adityaborikarhas left
adityaborikarhas joined
pdurbinhas left
adityaborikarhas left
pdurbinhas joined
Nekithas left
alacerhas left
alacerhas joined
rtq3has joined
Nekithas joined
alacerhas left
alacerhas joined
pdurbinhas left
j.rhas left
COM8has joined
COM8has left
adityaborikarhas joined
j.rhas joined
adityaborikarhas left
adityaborikarhas joined
j.rhas left
rtq3has left
j.rhas joined
rtq3has joined
igoosehas joined
adityaborikarhas left
adityaborikarhas joined
j.rhas left
j.rhas joined
adityaborikarhas left
adityaborikarhas joined
adityaborikarhas left
pdurbinhas joined
murabitohas left
murabitohas joined
adityaborikarhas joined
pdurbinhas left
murabitohas left
murabitohas joined
adityaborikarhas left
adityaborikarhas joined
j.rhas left
j.rhas joined
murabitohas left
murabitohas joined
adityaborikarhas left
lorddavidiiihas left
kokonoehas left
kokonoehas joined
adityaborikarhas joined
COM8has joined
moparisthebesthas left
COM8has left
moparisthebesthas joined
alacerhas left
alacerhas joined
COM8has joined
COM8Yagiza: I also had quite a few problems understanding the OMEMO XEP. If you need a working example with documentation look at:
https://github.com/UWPX/UWPX-Client/blob/master/XMPP_API/Classes/Network/XML/Messages/XEP-0384/OmemoMessageMessage.cs
COM8has left
adityaborikarhas left
j.rhas left
UsLhas joined
Danielthere is also https://wiki.xmpp.org/web/Tech_pages/OMEMO which can be interesting to people implementing omemo
Danielit doesn’t answer the specfic questions Yagiza had. but _other_ questions
YagizaCOM8, Daniel, thanx!
Danielwould be interesting to know what problems you COM8 ran into so we can mention it on the tech pages or elsewhere
adityaborikarhas joined
UsLhas left
COM8has joined
karoshihas left
karoshihas joined
Yagizahas left
alacerhas left
alacerhas joined
Yagizahas joined
vanitasvitaeYagiza: for which client are you doing your implementation?
Yagizavanitasvitae, eyeCU.
COM8It were some general problems with understanding What the XEP wants from me and which parts comes from libsignal and how it is used in combination with OMEMO. Quiet abstract without a concrete example - at least for me.
I had planned to create a PR with changes to the wording and adding some more examples but on the Sprint in Berlin I was talking to people which mentioned there would be some planed changes to the XEP so I will wait until they have been merged before I start updating it.
rtq3has left
COM8has left
adityaborikarhas left
rtq3has joined
YagizaCOM8, ok
UsLhas joined
j.rhas joined
karoshihas left
karoshihas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
UsLhas left
UsLhas joined
pdurbinhas joined
pdurbinhas left
adityaborikarhas joined
Lancehas joined
Lancehas left
edhelashas left
nycohas left
adityaborikarhas left
nycohas joined
edhelashas joined
adityaborikarhas joined
pep.COM8, I don't think these changes are coming soon tbh, most of them might be breaking from what I understand. So if yours are cosmetic, do PR
adityaborikarhas left
adityaborikarhas joined
adityaborikarhas left
COM8has joined
adityaborikarhas joined
dwdhas left
dwdhas joined
COM8pep: Ok thanks for the information - will start working on it.
COM8has left
dwdhas left
dwdhas joined
adityaborikarhas left
Steve Killehas left
Steve Killehas joined
sezuanhas left
andrey.ghas left
andrey.ghas joined
dwdhas left
dwdhas joined
kokonoehas left
kokonoehas joined
adityaborikarhas joined
lumihas joined
dwdhas left
adityaborikarhas left
eevvoorhas joined
COM8has joined
lovetoxhas joined
adityaborikarhas joined
COM8Is it only me or is somebody else getting duplicate messages in here since ~3 days
Ge0rGCOM8: must be you
Ge0rGCOM8: must be you
UsLhas left
COM8Ok 🤔
COM8has left
adityaborikarhas left
jonas’Ge0rG, you troll.
pdurbinhas joined
Ge0rGSCNR
sezuanhas joined
wojtekhas joined
sezuanhas left
sezuanhas joined
adityaborikarhas joined
pdurbinhas left
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
alacerhas left
alacerhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
adityaborikarhas left
sezuanhas left
wojtekhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
Andrew Nenakhovhas left
sezuanhas left
sezuanhas joined
Andrew Nenakhovhas joined
UsLhas joined
sezuanhas left
sezuanhas joined
Andrew Nenakhovhas left
adityaborikarhas joined
goffihas left
sezuanhas left
eevvoorhas left
Andrew Nenakhovhas joined
j.rhas left
j.rhas joined
matlaghas joined
valohas left
lnjhas left
dwdhas joined
j.rhas left
lumihas left
j.rhas joined
lovetoxYou have to understand the signal protocol and librarys that implement it first
lovetoxthen you read the XEP and learn how you can wrap that for xmll
lovetoxthen you read the XEP and learn how you can wrap that for xmpp
lovetoxRFCs for xmpp also dont describe how TLS works, you have to understand what TLS is, that there are librarys for it, how to use these librarys, and then you read the XMPP RFC, on how to use it in context of XMPP
Andrew Nenakhovhas left
lovetoxSo yes if you have no idea what the signal protocol is and how to use the librarys and expect the XEP tells you all that, this will not work out
Andrew Nenakhovhas joined
dwdhas left
dwdhas joined
Douglas Terabytehas left
dwdhas left
frainzhas left
frainzhas joined
dwdhas joined
lumihas joined
alacerhas left
UsLhas left
Lancehas joined
rionhas left
rionhas joined
pdurbinhas joined
Nekithas left
pdurbinhas left
YagizaDaniel, so, I use Signal Protocol session to encrypt key/IV pair instead of messagea. And messages themself are encrypted with that key/IV pair, which a generate randomly right?
valohas joined
Lancehas left
DanielYes
DanielThe IV isn't encrypted. But yes
YagizaDaniel, so, then.. what is GCM authentication tag, whih I need to concatenated with a key?
DanielYagiza: your gcm library will either give that to you or append that to the cipher text