Weekly Update 0

This report covers the progress during the Community Bounding Period (May 1 - 26), plans for the first week of coding period (starting from May 27), and the problems I met.


  • Got familiar with sjcl library.
  • Implemented some test demos of the AES-CCM method in sjcl and node:crypto. Proved the possibility of Goal #2 on the desktop.
  • Checked the supported transformation of the Cipher class in javax.crpyto across various Android SDK versions (test result). Proved the unfeasibility of Goal #2 with javax.crypto on Android.
  • Attempted to set up the macOS virtual machine.
  • Attempted to connect to the macOS virtual machine provided by @tessus .


  • Evaluate the React Native crypto libraries
  • Try to set up a valid macOS development environment
  • Try the AES-GCM method with javax.crypto


  • In the project proposal, I planned to implement the AES-CCM method across all platforms so users can get a faster decryption speed when migrating the crypto method to the new one. I chose javax.crypto initially, but I found that it doesn't support AES-CCM on many Android SDKs. To resolve this, I might need to implement it with other libraries like OpenSSL. However, this task has a very low priority because the proof of concept of native decryption of AES-CCM with node:crypto is implemented. Users can use their PCs to speed up the migrate process.
  • I don't have a macOS environment so I cannot write and test the native code on iOS. @tessus and I have tried some methods, but they didn't work. I'm still finding a way to set it up.

Have you tried using VirtualBox? How to Install MacOS on Windows 10 - gHacks Tech News

Otherwise if you know how a good online service for this, we can probably pay for the subscription for a few months, just let us know which one.

I tried Virtualbox + macOS Ventura/Sonoma with various tutorials but I can't even install it. The official forum doesn't allow users to talk about installing macOS on non-Apple hardware so I guess the feature of installing macOS VM on PC is unmaintained/not supported.

As for the online services, I need some time to evaluate which one to use.