Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Base45 operations #1242

Merged
merged 2 commits into from
Mar 28, 2022
Merged

Add Base45 operations #1242

merged 2 commits into from
Mar 28, 2022

Conversation

t-8ch
Copy link
Contributor

@t-8ch t-8ch commented Sep 12, 2021

Closes #1219

@CLAassistant
Copy link

CLAassistant commented Sep 12, 2021

CLA assistant check
All committers have signed the CLA.

@nielsbasjes
Copy link

I was looking into decoding the vaccination QR code (which uses Base45) and ran into this tweet which seems to indicate that there are variants of this encoding: https://mobile.twitter.com/jilles_com/status/1416758126372663305

It would be nice if these variants can be supported too.

@t-8ch
Copy link
Contributor Author

t-8ch commented Sep 16, 2021

@nielsbasjes The EU specification does not specify any variants. Are they documented somewhere properly?

@t-8ch
Copy link
Contributor Author

t-8ch commented Sep 16, 2021

FYI to properly decode the EU green pass files CyberChef will also need support for COSE

@nielsbasjes
Copy link

Ik have also not been able to find a good specification yet.
The best sources I have are the tweet I mentioned which shows a code fragment and this (Dutch) article which also mentions ASN.1 as being part of the Dutch variant.
https://tweakers.net/reviews/9166/het-digitale-coronapaspoort-hoe-de-app-om-te-kunnen-reizen-werkt.html

If I find something better I'll post it here.

@nielsbasjes
Copy link

It seems there are several publicly available photos that seem to actually show a valid (expired) Dutch QR code:
https://twitter.com/MinVWS/status/1438433503205597192/photo/1
https://www.ewmagazine.nl/nederland/achtergrond/2021/09/radicale-omslag-coronabeleid-toegangsbewijs-voor-horeca-en-theater-geen-afstandsregel-844321/

Note there are also a lot of images that have fake content. These two seem to contain (at a first glance) content that makes sense.

@nielsbasjes
Copy link

The code for the Dutch apps was opensourced by the Dutch government: https://github.com/minvws/nl-covid19-coronacheck-app-coordination

@t-8ch
Copy link
Contributor Author

t-8ch commented Sep 17, 2021

This seems to be their base 45 implementation:
https://github.com/minvws/base45-go

The rest of their implementation is in https://github.com/minvws/nl-covid19-coronacheck-mobile-core and https://github.com/minvws/nl-covid19-coronacheck-idemix

A few notes:

  • I think this is a completely different encoding than the one from this PR, so it probably should get its own dedicated operation.
  • There is no public specification, so you would have to work from the code which is licensed as EUPL, for which I'm not sure if it's compatible with the CyberChef license.

@nielsbasjes
Copy link

I fully agree.
This dutch encoding must be treated completely separate from this merge request.

t-8ch added 2 commits November 9, 2021 21:12
Closes gchq#1219

Co-developed-by: Cyril Delétré <cyril.deletre@gmail.com>
@n1474335 n1474335 merged commit 709b869 into gchq:master Mar 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature request: base45 decoding
4 participants