Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk4 min

A Library Default Cost Me 43× Throughput: Why SFTP Stalled at 1.2 MB/s

A stable SFTP ceiling led Termphin developer Mikołaj Badyl to investigate cipher selection. His one-machine benchmark found a 43× primitive-throughput gap between ChaCha20-Poly1305 and AES-256-GCM.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A fixed 1.2 MB/s SFTP ceiling can come from the client’s encryption work, not the network or disks. In a report about the Termphin SSH/SFTP client, developer Mikołaj Badyl traced that rate to the default cipher preference in the app’s pure-Dart dartssh2 path. His one-machine benchmark measured 51.0 MB/s for ChaCha20-Poly1305 versus 1.2 MB/s for AES-256-GCM—a roughly 43× difference in cipher-primitive throughput, not a promise of 43× faster file transfers.

Why would an SFTP transfer stop at 1.2 MB/s?

Badyl reports that Termphin transfers repeatedly landed at 1.2 MB/s across different servers, networks, and file sizes. He investigated the network path, disks at both ends, and SFTP buffering, but those did not explain the stable ceiling. The common factor was the client’s cipher selection: dartssh2 put AES-GCM first by default.

As an Amazon Associate I earn from qualifying purchases.

That kind of unusually steady limit is a clue to look for a local bottleneck. A network problem often varies with conditions; a repeatable plateau can instead reflect a fixed cost in processing or configuration. It is a diagnostic lead, not proof by itself.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What did the cipher benchmark measure?

Badyl says he ran each cipher on the same 32 KB payload 256 times and reported throughput. These are his results from one machine, published in the 2026 article context; they measure cipher primitives, not complete SSH/SFTP transfers.

Cipher Reported throughput How to interpret it
ChaCha20-Poly1305 51.0 MB/s Authenticated cipher; the relevant comparison with AES-256-GCM.
AES-256-GCM 1.2 MB/s Authenticated cipher; the roughly 43× comparison is 51.0 divided by 1.2.
AES-128-GCM 1.2 MB/s Also reported at 1.2 MB/s in this benchmark.
AES-128-CTR 51.7 MB/s CTR mode result; it does not provide the same built-in authentication as GCM.
AES-256-CTR 37.4 MB/s CTR mode result; likewise not directly interchangeable with authenticated GCM.
Raw ChaCha20 74.7 MB/s Unauthenticated, so it is not a fair like-for-like security comparison with GCM.

The headline 43× figure compares the two authenticated modes—ChaCha20-Poly1305 at 51.0 MB/s and AES-256-GCM at 1.2 MB/s. It is not a general ranking of ciphers across devices or implementations.

Why was AES-GCM slower in this case?

Badyl attributes the result to the pure-Dart crypto path’s lack of access to CPU AES instructions that can accelerate AES on supported hardware. He says GCM’s authentication component, GHASH, was especially costly in software when the relevant carry-less multiplication instruction was unavailable.

The same benchmark’s AES-CTR results—37.4 to 51.7 MB/s—are an important qualification: the report is not evidence that AES is inherently slow in software. It points specifically to the cost of GCM authentication in the runtime and hardware context he tested. Hardware acceleration availability and software implementations differ, so the reported figures should not be treated as expected performance for another device.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What change did Termphin make?

Badyl says Termphin changed its own handshake cipher preference to put ChaCha20-Poly1305 first, followed by AES-CTR and then AES-GCM. AES-GCM remained available as a fallback if a server offered no other listed option; the described preference list omitted CBC ciphers.

This is an implementation choice reported for Termphin, not universal advice to change every SSH client’s settings. SSH negotiates a cipher supported by both client and server. A preference order can affect which mutually supported option is selected, but a client cannot use an algorithm the server does not offer. The report does not establish the currently shipped dartssh2 version or whether that library’s default order has changed since publication.

How to investigate a similar SFTP speed cap

  1. Check whether the rate is unusually stable. Compare transfers across file sizes, servers, and network conditions. A recurring, nearly identical ceiling can justify investigating client-side processing as well as the network.
  2. Rule out the obvious endpoints. Check the connection, source and destination storage, and SFTP buffering. In Badyl’s case, his investigation found those did not explain the fixed limit.
  3. Inspect negotiated cipher choices. Consult the documentation or diagnostics for your SSH/SFTP client and server. Confirm which algorithms both support and which one is actually selected; do not assume Termphin’s preference order applies to your client.
  4. Compare like with like. If evaluating performance, compare authenticated modes with authenticated modes and keep runtime, device, and hardware acceleration in view. Raw ChaCha20’s higher figure in this benchmark is not a fair substitute for ChaCha20-Poly1305.
  5. Measure the full transfer after any change. A primitive benchmark isolates encryption work, while a real SFTP session also incurs protocol framing, round trips, and other overhead. A faster cipher can remove one ceiling without making the entire transfer run at the benchmark’s rate.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What the 43× number does—and does not—mean

The measurement is evidence about one machine and one cipher benchmark, not an independently replicated result or a full-session comparison. Badyl notes that absolute throughput differs on phones and across devices. Because a complete transfer includes protocol overhead, it also cannot exceed the throughput of its underlying cipher in the described setup; the benchmark does not predict an end-to-end rate.

Rank #4
SSH/SFTP Server - Terminal Server
  • Wireless File Transfer
  • Full functional SSH Server
  • SFTP File Transfer
  • Protect USB charging port
  • Multiple users with multiple paths

The practical lesson is to treat cipher defaults as consequential implementation choices. As Badyl puts it, “A library default encodes an assumption about where the code will run.” And when troubleshooting, “A suspiciously round, suspiciously stable number is worth more attention than a slow one that varies.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 4
SSH/SFTP Server - Terminal Server
SSH/SFTP Server - Terminal Server
Wireless File Transfer; Full functional SSH Server; SFTP File Transfer; Protect USB charging port
Bestseller No. 5
SSH/SFTP Server for TV
SSH/SFTP Server for TV
Wireless File Transfer; Full functional SSH Server; SFTP File Transfer; Protect USB charging port
$6.99
Best Value
SSH/SFTP Server for TV
  • Wireless File Transfer
  • Full functional SSH Server
  • SFTP File Transfer
  • Protect USB charging port
  • Multiple users with multiple paths

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.