Is modern encryption a challenge to those old machines? Is it because of specialized encryption hardware or sheer brute force?
Or is it just this implementation that's slow?
I used telnet back in the 68k days.
Is modern encryption a challenge to those old machines? Is it because of specialized encryption hardware or sheer brute force?
Or is it just this implementation that's slow?
I used telnet back in the 68k days.
Ooooooh yeah. It's got some serious overhead on single core systems several-hundred-megahertz systems without the instructions that are used to accelerate encryption these days. AES is what modern CPUs use to help with that. It wasn't until Power7+ before encryption was accelerated on that class of CPUs. The latest Mac to use Power CPUs was discontinued 6 years before that.
for interactive use, compared to rendering to the display and pushing the packet out the crypto overhead is going to be minuscule
my 2014 laptop (on battery, no hardware acceleration):
sign verify sign/s verify/s
rsa 4096 bits 0.006200s 0.000096s 161.3 10468.9
(not to mention everyone's using ec these days, which is quite a bit faster)It was a long, long road to your 2014 laptop, friend. There was a time when division was a luxury, and desperate folk offered their firstborn for forbidden tricks to compute inverse square root. Elliptic curve, you say? You mean floating point math? Whoo-ee!
The most powerful Power Macs with non Intel CPUs were discontinued in 2006. (G5, released 2003.) [2]
Your laptop from 2014 was already running at LEAST a 64bit CPU and likely has AES instructions as they were introduced in 2010 [3]
So even if your laptop from 2014 onward didn't include AES instructions like some Intel Atom/Celeron/Pentium models... (Acer C720P Chromebook, for example came out in 2014 and has a Intel Celeron 2955U [4] and [5]) It was still an architecture that is/was ELEVEN YEARS NEWER. A Celeron 2955U is roughly equivalent in performance to a Core 2 Duo E4700 or an AMD Athlon 64 x2 5200+ ... which is still quite ahead of a PowerMac G5. [6] and [7]
TLDR: Time marches on and along with cpu improvements come instructions and other benefits not immediately visible to the end user.
Try using your old 2003-era system to generate keys again and tell us how fun it is. Bonus if you try it on a Pre-2000 era Performa Mac as a user typically had with SystemOS 7, 8 and 9. Those ran at 16 to 66mhz. [8]
For reference, SystemOS 7 came out in 1991. [9] OS8 came out in 1997. [10] And OS9 came out in 1999. [11]
The CPUs inside the Performa Macs running System 7, OS8 and OS9, at best, can be compared to the 486s on the Intel side. Not even Pentium level. This places the architecture at LEAST a dozen architecture generations behind what you're generating keys on. This means if the CPUs we're looking at here were aged up, your laptop is starting first or second grade while the actual CPUs of the time are now finishing their masters' degrees with a kid or two on the way.
Rather than naively using your extremely modern in comparison 'crappy laptop' cpu as a reference point, perhaps you should use something more typical from the time these OSes were considered relevant.
TLDR to the TLDR: Get off my lawn.
[1] https://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common...
[2] https://en.wikipedia.org/wiki/Power_Mac_G5
[3] https://software.intel.com/content/www/us/en/develop/article...
[4] https://www.amazon.com/Acer-C720P-2666-Chromebook-11-6-Inch-...
[5] https://ark.intel.com/content/www/us/en/ark/products/75608/i...
[6] https://www.cpubenchmark.net/compare/Intel-Celeron-2955U-vs-...
[7] https://www.phoronix.com/scan.php?page=news_item&px=PowerMac...
[8] https://en.wikipedia.org/wiki/Macintosh_Performa
[9] https://en.wikipedia.org/wiki/System_7
I'm totally sure the RSA operations are using the AES instructions
> Try using your old 2003-era system to generate keys again and tell us how fun it is.
generating (fresh) rsa keys? you don't do that on connection to a SSH server
as for what actually happens on connect, 2004 laptop: 33 signatures/second and 2200 verifications/second (+DH/ECDH)
the RSA operation (verifying the server's host key) took a total of 0.0005s
even my raspberry pi 1 can do 240 4096-bit verifications/s and several thousand ECDH's/second
and I have yet to see a SSH server with 4096-bit host keys
tldr: even old computers are fast (and data > supposition)
I told you to get off my lawn.
I suggest reading up on how the SSH protocol works
We don't realize it, just as someone using a text terminal may have not realised it between 1985 and 1995, if every response after a key press was already instant.
For typical GUI interfaces, tasks like tossing video data around, and so on, computers became approximately inifinitely fast sometime c. 2005 - 2010.
If any, current gens with Electron crap are doing it far worse. Far, far worse.
The Rpi? For FFS, an Rpi B+, a PSP, or a 2003 Athlon XP could emulate a System7 era Mac with a Quadra setup without a single slowdown.
How is it at all comparable to a relatively state of the art 2014 laptop?
1984 - Cray X-MP (expensive!) 800 MFLOPS
1989 - Intel 486 @ 33 MHz 3
1993 - Pentium @ 60 MHz 10
1997 - Pentium II @ 233 MHz 200
2000 - Pentium III @ 1000 MHz 2000
2004 - Pentium 4 @ 2800 MHz 5650
2007 - Core Quad @ 2400 MHz 38400
2009 - Core i7-950 @ 3100 MHz 92820
2013 - Apple A7 (smartphone) 115000
2020 - Apple M1 2844000
A FP calculation that takes 1 second on an Apple M1 will take 11 hours on the original Pentium, approximately. Hope that gives some perspective.and that's the expensive operation (done once per connection)
The 486, the slowest chip on my list blasts the early Macs (which this software runs on) out of the water by 100x. I went and researched it and the the 68882 FPU at 25 MHz is about 0.25 MFLOPS: http://www.faqs.org/faqs/motorola/68k-chips-faq/
Stunning, but that is the difference between 1985 and 1989 technology.
my point was on interactive use (i.e. using AES or ChaCha)
you are the one that diverted the topic towards RSA-4096 (which no-one uses), moving the goalposts (twice)
(and yes, I saw the deleted post)
I deleted the post because I was a bit too aggressive, but apparently the damage was done. I apologize for lecturing you like a prat.
https://www.folklore.org/StoryView.py?project=Macintosh&stor...
https://www.folklore.org/StoryView.py?project=Macintosh&stor...
doing the initial key exchange before timeout is barely possible for a 68030 at 16MHz, takes the better part of a minute!
of course, on the later PPC machines it's a complete non-issue
I've used modern encryption/mac routines on small embedded micro's and they seem reasonably efficient. Couple of operations per byte. They have to be fast because they are used for decrypting stuff like streaming video. I think an exception is password hashing algorithms which are slow by design.
That said some of the older algorithms are really inefficient. Hundreds of ops per byte.
This tool is relying on libssh2 for its SSH implementation core. chacha20-poly1305 and ed25519 are both extensions and are not included.
As for encryption, can you use a preshared key instead of public key?
blitting from a buffer onto the screen is, indeed, pretty fast, I've been experimenting with it and have some ideas for speeding things up