let it leave me like a long breath

let it dissipate or fade in the background

Reading

Profile

xax: purple-orange {11/3 knotwork star, pointed down (Default)
howling howling howling

Nav

  • Recent Entries
  • Archive
  • Reading
  • Tags
  • Memories
  • Profile

Tags

  • art - 2 uses
  • asteroid garden - 4 uses
  • code - 19 uses
  • demos - 1 use
  • dreams - 5 uses
  • ff7 fangame - 23 uses
  • fic prompts - 13 uses
  • gamedev challenge - 82 uses
  • hell game - 76 uses
  • nanowrimo - 11 uses
  • plants - 9 uses
  • process - 52 uses
  • programming - 51 uses
  • screenshots - 5 uses
  • writing log - 83 uses

May 2025

S M T W T F S
    123
45678 910
1112131415 1617
18192021222324
25262728293031
  • Sep. 4th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 05:13 pm

    Geometric Animations / 250904

    https://sasj.tumblr.com/post/793770794342891520

    Looping generative animation of floating 3D cubes in red, yellow, and pink, arranged on a white grid with blue lines, dynamically shifting in position and size to create an evolving geometric display.ALT

    Geometric Animations / 250904

    https://sasj.tumblr.com/post/793770794342891520


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Sep. 3rd, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 09:24 pm

    Geometric Animations / 250903

    https://sasj.tumblr.com/post/793695959835099136

    Looping generative animation of floating 3D cubes in cyan, purple, and blue, arranged on a white grid with blue lines, shifting positions and sizes to form an evolving geometric composition.ALT

    Geometric Animations / 250903

    https://sasj.tumblr.com/post/793695959835099136


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Sep. 2nd, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 09:48 pm

    Geometric Animations / 250902

    https://sasj.tumblr.com/post/793606886414057472

    Looping generative animation of tall and short 3D rectangular prisms in bright pink, purple, and cyan, appearing and shifting positions on a white grid background with blue lines, forming an evolving abstract geometric pattern.ALT

    Geometric Animations / 250902

    https://sasj.tumblr.com/post/793606886414057472


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Sep. 1st, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 09:31 pm

    Geometric Animations / 250901

    https://sasj.tumblr.com/post/793515225358958592

    Looping generative animation of 3D cubes in bright pink, neon green, and cyan, floating and scaling in size over a white grid background with blue lines, creating a dynamic geometric pattern with depth and perspective.ALT

    Geometric Animations / 250901

    https://sasj.tumblr.com/post/793515225358958592


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 31st, 2025
  • mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
    [staff profile] mark posting in [site community profile] dw_maintenance
    posted @ 07:37 pm

    Code deploy happening shortly

    Per the [site community profile] dw_news post regarding the MS/TN blocks, we are doing a small code push shortly in order to get the code live. As per usual, please let us know if you see anything wonky.

    There is some code cleanup we've been doing that is going out with this push but I don't think there is any new/reworked functionality, so it should be pretty invisible if all goes well.


    • Add Memory
    • Share This Entry
    • Link
    • 4 comments
    • Reply
  • [syndicated profile] sasj_tumblr_feed
    posted @ 07:48 pm

    Geometric Animations / 250831

    https://sasj.tumblr.com/post/793418159455666176

    Looping generative animation of 3D spheres in bright pink, neon green, and deep purple, forming two rotating circular rings with smaller spheres orbiting outward, creating a vibrant and fluid kinetic pattern against a black background.ALT

    Geometric Animations / 250831

    https://sasj.tumblr.com/post/793418159455666176


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 30th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 09:18 pm

    Geometric Animations / 250830

    https://sasj.tumblr.com/post/793333223056949248

    Looping generative animation of 3D spheres in yellow, green, and purple, arranged in a dynamic circular formation that expands, contracts, and rotates, creating a flowing orbital motion against a black background.ALT

    Geometric Animations / 250830

    https://sasj.tumblr.com/post/793333223056949248


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 29th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 07:55 pm

    Geometric Animations / 250829

    https://sasj.tumblr.com/post/793237384079753216

    Looping generative animation of 3D spheres in red, silver, and blue, arranged in concentric circular patterns that pulse and rotate, creating a dynamic orbital motion against a black background.ALT

    Geometric Animations / 250829

    https://sasj.tumblr.com/post/793237384079753216


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • graydon2: (Default)
    [personal profile] graydon2
    • Current Mood: amused
    Tags:
    • tech
    posted @ 12:02 pm

    snuffle / salsa / chacha

    This is a small note about a delightful function. Not cryptography advice or serious commentary. Just amusement.

    A couple years back I had occasion to read in slightly more detail than I had before about the state of the art in cryptographically secure PRNGs (CSPRNGs). These are PRNGs we trust to have additional properties beyond the speed and randomness requirements of normal ones -- inability for an attacker to reveal internal state, mainly, so you can use them to generate secrets.

    If you look, you'll find a lot of people recommending something based on one of Dan Bernstein's algorithms: Salsa20 or ChaCha (or even more obscurely "Snuffle"). All the algorithms we're discussing here are very similar in design, and vary only in minor details of interest only to cryptographers.

    If you follow that link though, you'll notice it's a description of a (symmetric) stream cipher. Not a CSPRNG at all!

    But that's ok! Because it turns out that people have long known an interesting trick -- actually more of a construction device? -- which is that a CSPRNG "is" a stream cipher. Or rather, if you hold it the other way, you might even say a stream cipher "is" just a CSPRNG. Many stream ciphers are built by deriving an unpredictable "key stream" off the key material and then just XOR'ing it with the plaintext. So long as the "key stream" is unpredictable / has unrecoverable state, this is sufficient; but it's the same condition we want out of the stream of numbers coming out of a CSPRNG, just with "seed" standing in for "key". They're fundamentally the same object.

    I knew all this before, so people naming a CSPRNG and a stream cipher the same did not come as any surprise to me. But I went and looked a little further into ChaCha in particular (and its ancestor Salsa and, earlier still, Snuffle) because they have one additional cool and weird property.

    They are seekable.

    This means that you can, with O(1) effort, "reposition" the Snuffle/Salsa/ChaCha "key stream" / CSPRNG number stream to anywhere in its future. You want the pseudorandom bytes for block 20,000,000? No problem, just "set the position" to 20,000,000 and it will output those bytes. This is not how all CSPRNGs or stream ciphers work. But some do. ChaCha does! Which is very nice. It makes it useful for all sorts of stuff, especially things like partially decrypting randomly-read single blocks in the middle of large files.

    I got to wondering about this, so I went back and read through design docs on it, and I discovered something surprising (to me): it's not just a floor wax and dessert topping CSPRNG and stream cipher. ChaCha is also a cryptographic hash function (CHF)! Because a CHF is also something you can build a CSPRNG out of, and therefore also build a stream cipher out of. They're all the same object.

    How does the construction work? Embarassingly easily. You put the key material and a counter (and enough fixed nonzero bits to make the CHF happy) in an array and hash it. That's it. The hash output is your block of data. For the next block, you increment the counter and hash again. Want block 20,000,000? Set the counter to 20,000,000. The CHF's one-way-function-ness implies the non-recoverability of the key material and its mixing properties ensure that bumping the counter is enough to flip lots of bits. The end.

    Amazing!

    But then I got curious and dug a bit into the origins of ChaCha and .. stumbled on something hilarious. In the earliest design doc I could find (Salsa20 Design which still refers to it as "Snuffle 2005") the introduction starts with this:

    Fifteen years ago, the United States government was trying to stop publication
    of new cryptographic ideas—but it had made an exception for cryptographic
    hash functions, such as Ralph Merkle’s new Snefru.

    This struck me as silly. I introduced Snuffle to point out that one can easily
    use a strong cryptographic hash function to efficiently encrypt data.
    Snuffle 2005, formally designated the “Salsa20 encryption function,” is the
    latest expression of my thoughts along these lines. It uses a strong cryptographic
    hash function, namely the “Salsa20 hash function,” to efficiently encrypt data.

    This approach raises two obvious questions. First, why did I choose this
    particular hash function? Second, now that the United States government seems
    to have abandoned its asinine policies, why am I continuing to use a hash function
    to encrypt data?


    In other words: the cool seekability wasn't a design goal. Shuffle/Salsa/ChaCha was intended as a tangible demonstration of a political argument that it's stupid to regulate one of the 3 objects (CHF, CSPRNG and stream cipher) since you can build them all out of the CHF. (And, I guess, "obviously you should be allowed to export CHFs" though I wouldn't bet on anything being obvious to the people who make such decisions).

    And then I googled more and realized that when I was a teenager I had completely missed all the drama / failed to connect the dots. Snuffle was the subject of Bernstein v. United States, the case that overturned US export restrictions on cryptography altogether! And as this page points out "the subject of the case, Snuffle, was itself an attempt to bypass the regulations".

    Anyway, I thought this was both wonderful and funny: both the CHF-to-CSPRNG construction (which I'd never understood/seen before), but also the fact that Snuffle/Salsa/ChaCha is like the ultimate case of winning big in cryptography. Not only does ChaCha now transport like 99%[EDIT "double-digit percentages"] of the world's internet traffic (it's become the standard we all use because it's fast and secure) but that it was pivotal in the evolution of the legal landscape and all arises from a sort of neener-neener assessment that the law at the time was internally inconsistent / contained a loophole for CHFs that made the whole thing "asinine".

    • Add Memory
    • Share This Entry
    • Link
    • 2 comments
    • Reply
  • Aug. 28th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 10:49 pm

    Geometric Animations / 250828

    https://sasj.tumblr.com/post/793157770580049920

    Looping generative animation of small 3D spheres in blue, cyan, and green, arranged in rotating elliptical orbits that shift in perspective, creating a dynamic floating motion against a black background.ALT

    Geometric Animations / 250828

    https://sasj.tumblr.com/post/793157770580049920


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 27th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 09:12 pm

    Geometric Animations / 250827

    https://sasj.tumblr.com/post/793061056530563072

    Looping generative animation of spheres in turquoise, teal, and lavender, arranged in a rotating arc that expands and contracts against a black background, creating a smooth, fluid motion.ALT

    Geometric Animations / 250827

    https://sasj.tumblr.com/post/793061056530563072


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 26th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 10:36 pm

    Geometric Animations / 250826

    https://sasj.tumblr.com/post/792975732263567360

    Looping generative animation of concentric circles in red, magenta, and green, rotating and pulsing in size against a black background, creating a seamless circular motion.ALT

    Geometric Animations / 250826

    https://sasj.tumblr.com/post/792975732263567360


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 25th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 11:07 pm

    Geometric Animations / 250825

    https://sasj.tumblr.com/post/792887056563077120

    Animated looping GIF of colorful gradient circles arranged in a rotating ring on a black background. The circles shift between bright yellow-green, pink, and orange hues, creating a dynamic, flower-like motion pattern with smaller dots orbiting around the larger shapes.ALT

    Geometric Animations / 250825

    https://sasj.tumblr.com/post/792887056563077120


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 24th, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 09:00 pm

    Geometric Shapes / 250824

    https://sasj.tumblr.com/post/792788491253776384

    Abstract geometric composition featuring bold diagonal, striped, and triangular patterns in blue, pink, black, and white. The design incorporates layered bands of halftone dots, alternating color blocks, and repeated shapes arranged in a rhythmic, fragmented grid layout.ALT

    Geometric Shapes / 250824

    https://sasj.tumblr.com/post/792788491253776384


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 23rd, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 06:59 pm

    Geometric Shapes / 250823

    https://sasj.tumblr.com/post/792690296320311296

    Abstract geometric artwork composed of diamond, circle, and grid patterns in shades of purple, mint green, and black. The design features alternating bands of repeated shapes, halftone dot textures, and interlocking motifs, creating a layered and rhythmic visual effect.ALT

    Geometric Shapes / 250823

    https://sasj.tumblr.com/post/792690296320311296


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • Aug. 22nd, 2025
  • [syndicated profile] sasj_tumblr_feed
    posted @ 05:49 pm

    Geometric Shapes / 250822

    https://sasj.tumblr.com/post/792595305263775744

    Abstract composition featuring repeated patterns of stars, diamonds, and triangles in vivid pink, orange, black, and white. The design alternates between dense geometric grids, bold star motifs, and contrasting textured sections, creating a dynamic, high-energy visual effect.ALT

    Geometric Shapes / 250822

    https://sasj.tumblr.com/post/792595305263775744


    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
Page generated Sep. 5th, 2025 01:31 pm
Powered by Dreamwidth Studios

Style Credit

  • Style: (No Theme) for vertical