Cache shared key makes it 3X faster which I have done months ago. What I did just now was to not using scure to decode base64 to UintArray, instead, just use atob which is 20X faster.