• 0 Posts
  • 18 Comments
Joined 8 months ago
cake
Cake day: October 26th, 2024

help-circle


  • Edit: Lemmy somehow converts all my ^ symbols to <sup> and </sup> for whatever reason. My apologies

    In simple terms, an elliptic curve is just the set of points satisfying an elliptic curve equation of form y^2 = x^3 + a*x + b. We say a point is “on the curve” if it satisfies the given equation. The parameters a and b are some “numbers” (often over a finite field—if that doesn’t ring a bell, just ignore it. It’s not important for now) and constant for any specific elliptic curve.

    So let’s say we have the following equation

    y^2 = x^3 + x + 6
    

    The point (2, 4) would be on the curve, since we can plug in 2 for x and 4 for y and verify that the equality does in fact hold, since we get 4^2 = 16 on the lefthand side and 2^3 + 2 + 6 = 8 + 2 + 6 = 16 on the righthand side.


    Through some mathematical trickery we can also perform operations on the curve, i.e. “add” two points. This is not as straight forward as let’s say standard arithmetic, where you just add numbers as per usual, but we can in fact define an operation that combines two points on the curve to yield another point on the curve cleanly. The process is very ugly when you look at the formula but there is some nice visual intuition for it:

    We have a curve (red) and two points: P and Q. Focus only on the left image for now. We draw a line through both P and Q and see where that line has its third intersection point with the curve. On the left most picture that would be the point R. We take R and mirror it down (imagine putting a mirror along the x-axis, the x-coordinate of R stays the same but the y-coordinate gets flipped). I very expertly drew in that new point in green. And that’s it! That’s our result of adding P and Q.

    The pictures 2, 3 and 4 are a bit weird. In those, we don’t get a third intersection point with the curve. In these special cases we say the result is O—sort of a point at infinity. Don’t think too hard about what that means, it’s just a mathematical trick to deal with the edge-cases. We do this by saying that the result of addition is O if we don’t get a third intersection point with the curve. Adding any point P to O gets you P back. So O is basically our zero for addition.


    This type of “addition” then allows us to perform “calculations” by using the operation defined by the curve. Doing so we can formulate more complicated problems—where finding a solution is very difficult but verifying a solution is easy. This is the basis for their usefulness in cryptography, since we want to be able to encrypt easily but make decrypting without a given key very very difficult.

    Hope that helps!








  • azolus@slrpnk.nettoAnarchism@lemmy.dbzer0.comThe skeleton key of fascism
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    2
    ·
    edit-2
    4 months ago

    Things are moving much faster than anyone would have thought possible and violence, real physical violence is an unavoidable property of any fascist regime.

    I would kindly ask you to speak for yourself. Leftists and historians have warned about the fascist tendencies of Trump and the Republican Party for years. We know from history how fast things move once fascists start seizing actual power (as opposed to just cultural power/media hegemony). It’s okay to be surprised, it’s okay to admit you did not expect this, as corporate media and the center-right Democrat establishment has largely been downplaying the seriousness of your situation. But please don’t erase all the voices that have been warning you about this, as they are also the ones you should listen to more if you want to resist fascism.

    The way I see it, the Democrats have to open up to leftists and progressives and abandon their bipartisan centrism bs. You need another FDR and an associated narrative to stomp out fascism. You need a proper alliance of the center and the left, which requires the Democrats to get their sh** together and actually start resisting. Walz is doing great btw if you want an example of what left-moderate Democrats should be doing rn.

    Here’s one of my favorite quotes from Erich Kästner (1899-1974), a german pacifist and staunch opponent of the nazi-regime, whose books were burned by the nazis, outlining his lessons from that horrible time in history:

    Die Ereignisse von 1933 bis 1945 hätten spätestens 1928 bekämpft werden müssen. Später war es zu spät. Man darf nicht warten, bis der Freiheitskampf Landesverrat genannt wird. Man darf nicht warten, bis aus dem Schneeball eine Lawine geworden ist. Man muss den rollenden Schneeball zertreten. Die Lawine hält keiner mehr auf. Sie ruht erst, wenn sie alles unter sich begraben hat. Das ist die Lehre, das ist das Fazit dessen, was uns 1933 widerfuhr. Das ist der Schluss, den wir aus unseren Erfahrungen ziehen müssen, und es ist der Schluss meiner Rede. Drohende Diktaturen lassen sich nur bekämpfen, ehe sie die Macht übernommen haben.

    My attempt at translation (German to English is kind of weird if you want to keep the sentence structure close to the original text):

    We should have put all our efforts into fighting the nazi regime [1933-1945 was the time of the nazi dictatorship] no later than 1928, any time later would have been too late. We can not and must not wait until resistance is treated as sedition. We must not wait until the snowball [of fascism] has become an avalanche. We must stomp on/crush the snowball before it can become an avalanche. Once it has become an avalanche there is no stopping it [fascism]. It [the avalanche] will only come to rest once it has buried us all. This is the lesson we should learn from the events of 1933. This is the crux of what our experiences [what we have lived through] have taught us and I hereby conclude my speech. Imminent dictatorships can only be fought before they have seized power.









  • I’d say going with C is not a bad idea at all—I for one would be interested. C is not going to become obsolete any time soon and is an immensly useful language to be proficient in.

    When I tried to learn C I felt like I’m doing everything wrong because the C-way of doing things is very different to what one is used to from more modern languages (header files, make etc). Bridging the gap between the “I can solve project euler challenges” stage and actually being able to organize and implement proper projects is difficult without a mentor, so why not share your expertise?

    In the end, go with what you feel most like doing, there will be an audience either way. So pick what is most fun to you!