# nico's reflections
## Project Overview
In this residency, I made changes to make the implementation of MynaWallet more privacy-focused.
MynaWallet is an AA wallet operated by Japanese national ID card, the My Number Card. This card contains an RSA key pair and is able to make signature to any kind of data. In MynaWallet, they verify the signature from My Number Card and execute transactions.
Previously, our wallet implementation directly published the RSA public key and verified the signatures directly in the smart contract. This approach ensured privacy for random mass, but it couldn't guarantee privacy against institutions that had a mapping between the national ID and the RSA public key.
To address this, we focused on the fact that the RSA algorithm used in the My Number Card is PKCS#1 v1.5, which produces deterministic signatures. We used the hash of the signature value for a predetermined string as a nullifier. By using this nullifier, we developed a zk-circuit that verifies the RSA signature without revealing the RSA public key. This method prevents linking the national ID to the MynaWallet account while allowing MynaWallet to be operated with signatures derived from the My Number Card.
## Learnings
In this residency, I was able to learn a lot through discussions with people working in similar fields. Particularly helpful to us were the instructions from the Mopro team on integrating client-side proof systems and the detailed techniques from the PoP and Anon-Aadhaar teams on incorporating zk functionalities into applications.
Until now, MyNaWallet had not considered incorporating zk functionalities as a production feature. We only evaluated the technical feasibility of zk-related technologies and did not proceed further with development. Therefore, gaining insights from what they are doing and learning tips on integrating zk functionalities into real applications was extremely beneficial.
## Project Synergies
One of the principles of MyNaWallet is that as long as you have your My Number Card, you can exercise control over your wallet anywhere. Mopro brings incredible synergy as a technology that realizes this principle while ensuring privacy.
Moreover, projects related to IDs with signatures from national institutions, such as Proof of Passport and Anon-Aadhaar, provided valuable insights, and we learned a lot from each other, which was very stimulating. The My Number Card, which cannot see the data it signs, also has synergy with AppAttest. However, there remain questions about whether it is necessary to incorporate zk technology.
## Personal Reflections
I have spent almost my entire life in Japan and have developed my individuality among my Japanese friends. However, during this residency, I was able to spend a lot of time with friends from overseas while living in Japan. This allowed me to learn about various cultural aspects, including different ways of working and living rhythms, which was a very interesting experience.
Additionally, I was able to spend a lot of time with talented engineers and entrepreneurs from around the world who are at the forefront of developing technologies related to zero-knowledge technology and smart contracts. This experience gave me valuable insights into the broader scope of this field, which is not easily visible when staying only in Japan.